Weather user interface

ABSTRACT

Reduced-size user interfaces for providing weather information are disclosed. At an electronic device with a touch-sensitive display, indications of a location and a temperature at the location may be displayed. In some examples, a user may provide input through a touch on the touch-sensitive display and/or through a rotation of a rotatable input mechanism to display additional weather information, such as weather information for another location, another temperature, another time, and so forth. In some examples, the device may obtain data representing an upcoming activity, determine whether the activity is to begin within a threshold amount of time, and display weather information based on the upcoming activity. In some examples, the device may display an affordance at a position to indicate the time of day for which a weather condition is provided.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. non-Provisional applicationSer. No. 14/821,667, filed Aug. 7, 2015 which claims priority to thefollowing applications: U.S. Provisional Application Ser. No.62/038,079, filed Aug. 15, 2014, and U.S. Provisional Application Ser.No. 62/129,890, filed Mar. 8, 2015. The content of these applications ishereby incorporated by reference in its entirety.

FIELD

The present disclosure relates generally to computer user interfaces,and more specifically to user interfaces for providing weatherinformation on an electronic device.

BACKGROUND

Electronic devices may provide various types of information to a userthroughout the day. One type of information that a user may wish toaccess through such an electronic device is weather information. Forexample, a user may wish to obtain weather information, such as currentor forecasted weather conditions, for a location of interest. A user maywish to receive an alert of the weather conditions, such as weatherconditions at the device's (and user's) location or the location of anupcoming event. As electronics packaging techniques improve, smaller andmore portable devices are made, which challenges computer user interfacedesigners with providing weather information—that a user is accustomedto receiving—on reduced-size devices. That is, user interfaces thatprovide weather conditions, weather alerts, and other weatherinformation to a user on a reduced-size portable electronic device willbecome increasingly desirable.

SUMMARY

Some techniques for providing weather information on an electronicdevice such as a portable multifunction device are cumbersome andinefficient. For example, some techniques require a user to executeseveral inputs and to navigate a complex series of nested menus in orderto access weather information of interest. Some techniques areinefficient in that they require more complex and cumbersome inputs andmore time than necessary, which wastes user time and device energy. Onhighly portable electronic devices, which may have smaller touchscreens,the navigational inputs required by these techniques are particularlychallenging as incremental touch movements may block much of thetouchscreen. On battery-operated devices, these techniques impose userinterface interactions that demand battery power.

Accordingly, the present inventions provide, inter alia, the benefit ofelectronic devices with more efficient, less cumbersome methods andinterfaces for providing weather information. Such methods andinterfaces optionally complement or replace other methods for providingweather information. Such methods and interfaces reduce the cognitiveburden on a user and produce a more efficient man-machine interface.Such methods and interfaces may also reduce the number of unnecessary,extraneous, repetitive, and/or redundant inputs, and may create a fasterand more efficient user interface arrangement, which may reduce thenumber of required inputs, reduce processing power, and reduce theamount of time for which user interfaces need to be displayed in orderfor desired functions to be accessed and carried out. Forbattery-operated computing devices, such methods and interfaces conservepower and increase the time between battery charges (and decrease thetime to fully charge a battery), including by reducing unnecessary oraccidental inputs and by obviating unnecessary extra user inputs.

The above deficiencies and other problems are reduced or eliminated bythe disclosed devices, methods, and computer-readable media. In someembodiments, the device is a desktop computer. In some embodiments, thedevice is portable (e.g., a notebook computer, tablet computer, orhandheld device). In some embodiments, the device has a touchpad. Insome embodiments, the device has a touch-sensitive display (also knownas a “touch screen” or “touch screen display”). In some embodiments, thedevice has hardware input mechanisms such as depressible buttons and/orrotatable input mechanisms. In some embodiments, the device has agraphical user interface (GUI), one or more processors, memory, and oneor more modules, programs, or sets of instructions stored in the memoryfor performing multiple functions. In some embodiments, the userinteracts with the GUI through finger contacts and gestures on thetouch-sensitive surface and/or through rotating the rotatable inputmechanism and/or through depressing hardware buttons. Executableinstructions for performing these functions are, optionally, included ina non-transitory computer-readable storage medium or other computerprogram product configured for execution by one or more processors.Executable instructions for performing these functions are, optionally,included in a transitory computer-readable storage medium or othercomputer program product configured for execution by one or moreprocessors.

In some embodiments, a method of providing weather informationcomprises: at an electronic device with a touch-sensitive display and arotatable input mechanism: displaying an affordance on thetouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the displayed affordance; inresponse to detecting the contact: launching the weather application;displaying at least a portion of a first user interface screen includingindications of a first location and a temperature at the first location;while displaying the first user interface screen, detecting user input;determining whether the user input is movement of the rotatable inputmechanism or a swipe on the touch-sensitive display; in accordance witha determination that the user input is movement of the rotatable inputmechanism, scrolling the first user interface screen; and in accordancewith a determination that the user input is a swipe, displaying at leasta portion of a second interface screen including indications of a secondlocation and a temperature at the second location.

In some embodiments, a non-transitory computer-readable storage mediumcomprises instructions for: displaying an affordance on atouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the displayed affordance; inresponse to detecting the contact: launching the weather application;displaying at least a portion of a first user interface screen includingindications of a first location and a temperature at the first location;while displaying the first user interface screen, detecting user input;determining whether the user input is movement of a rotatable inputmechanism or a swipe on the touch-sensitive display; in accordance witha determination that the user input is movement of the rotatable inputmechanism, scrolling the first user interface screen; and in accordancewith a determination that the user input is a swipe, displaying at leasta portion of a second interface screen including indications of a secondlocation and a temperature at the second location.

In some embodiments, a transitory computer-readable storage mediumcomprises instructions for: displaying an affordance on atouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the displayed affordance; inresponse to detecting the contact: launching the weather application;displaying at least a portion of a first user interface screen includingindications of a first location and a temperature at the first location;while displaying the first user interface screen, detecting user input;determining whether the user input is movement of a rotatable inputmechanism or a swipe on the touch-sensitive display; in accordance witha determination that the user input is movement of the rotatable inputmechanism, scrolling the first user interface screen; and in accordancewith a determination that the user input is a swipe, displaying at leasta portion of a second interface screen including indications of a secondlocation and a temperature at the second location.

In some embodiments, a device comprises a touch-sensitive display; arotatable input mechanism; one or more processors; and memory storinginstructions that, when executed by the one or more processors, causethe one or more processors to: display an affordance on thetouch-sensitive display, the affordance representing a weatherapplication; detect a contact on the displayed affordance; in responseto detecting the contact: launch the weather application; display atleast a portion of a first user interface screen including indicationsof a first location and a temperature at the first location; whiledisplaying the first user interface screen, detect user input; determinewhether the user input is movement of the rotatable input mechanism or aswipe on the touch-sensitive display; in accordance with a determinationthat the user input is movement of the rotatable input mechanism, scrollthe first user interface screen; and in accordance with a determinationthat the user input is a swipe, display at least a portion of a secondinterface screen including indications of a second location and atemperature at the second location.

In some embodiments, a device comprises means for displaying anaffordance on a touch-sensitive display, the affordance representing aweather application; means for detecting a contact on the displayedaffordance; means responsive to detecting the contact for launching theweather application; means for displaying at least a portion of a firstuser interface screen including indications of a first location and atemperature at the first location; means for detecting user input whiledisplaying the first user interface screen; means for determiningwhether the user input is movement of a rotatable input mechanism or aswipe on the touch-sensitive display; means for scrolling the first userinterface screen in accordance with a determination that the user inputis movement of the rotatable input mechanism; and means for displayingat least a portion of a second interface screen including indications ofa second location and a temperature at the second location in accordancewith a determination that the user input is a swipe.

In some embodiments, an electronic device comprises a touch-sensitivedisplay unit; a rotatable input mechanism unit; and a processing unitcoupled to the touch-sensitive display unit and the rotatable inputmechanism unit, the processing unit configured to: enable display of anaffordance on the touch-sensitive display unit, the affordancerepresenting a weather application; detect a contact on the displayedaffordance; in response to detecting the contact: launch the weatherapplication; enable display of at least a portion of a first userinterface screen including indications of a first location and atemperature at the first location; detect user input while displayingthe first user interface screen; determine whether the user input ismovement of the rotatable input mechanism unit or a swipe on thetouch-sensitive display unit; in accordance with a determination thatthe user input is movement of the rotatable input mechanism unit, scrollthe first user interface screen; and in accordance with a determinationthat the user input is a swipe, enable display of at least a portion ofa second interface screen including indications of a second location anda temperature at the second location.

In some embodiments, a method of providing weather informationcomprises: at an electronic device with a touch-sensitive display and arotatable input mechanism: displaying an affordance on thetouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the displayed affordance, and inresponse to detecting the contact: launching the weather application,and displaying indications of a location and a current temperature atthe location; while displaying the indications of the location and thecurrent temperature, detecting movement of the rotatable inputmechanism; and in response to detecting the movement, displaying aforecasted temperature for the location.

In some embodiments, a non-transitory computer-readable storage mediumcomprises instructions for: displaying an affordance on atouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the displayed affordance, and inresponse to detecting the contact: launching the weather application,and displaying indications of a location and a current temperature atthe location; while displaying the indications of the location and thecurrent temperature, detecting movement of a rotatable input mechanism;and in response to detecting the movement, displaying a forecastedtemperature for the location.

In some embodiments, a transitory computer-readable storage mediumcomprises instructions for: displaying an affordance on atouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the displayed affordance, and inresponse to detecting the contact: launching the weather application,and displaying indications of a location and a current temperature atthe location; while displaying the indications of the location and thecurrent temperature, detecting movement of a rotatable input mechanism;and in response to detecting the movement, displaying a forecastedtemperature for the location.

In some embodiments, a device comprises a touch-sensitive display; arotatable input mechanism; one or more processors; and memory storinginstructions that, when executed by the one or more processors, causethe one or more processors to: display an affordance on thetouch-sensitive display, the affordance representing a weatherapplication; detect a contact on the displayed affordance, and inresponse to detecting the contact: launch the weather application, anddisplay indications of a location and a current temperature at thelocation; while displaying the indications of the location and thecurrent temperature, detect movement of the rotatable input mechanism;and in response to detecting the movement, display a forecastedtemperature for the location.

In some embodiments, a device comprises means for displaying anaffordance on a touch-sensitive display, the affordance representing aweather application; means for detecting a contact on the displayedaffordance, means responsive to detecting the contact for launching theweather application, and means responsive to detecting the contact fordisplaying indications of a location and a current temperature at thelocation; means for detecting movement of a rotatable input mechanismwhile displaying the indications of the location and the currenttemperature; and means responsive to detecting the movement fordisplaying a forecasted temperature for the location.

In some embodiments, an electronic device comprises a touch-sensitivedisplay unit; a rotatable input mechanism unit; and a processing unitcoupled to the touch-sensitive display unit and the rotatable inputmechanism unit, the processing unit configured to: enable display of anaffordance on the touch-sensitive display unit, the affordancerepresenting a weather application; detect a contact on the displayedaffordance, and in response to detecting the contact: launch the weatherapplication, and enable display of indications of a location and acurrent temperature at the location; while displaying the indications ofthe location and the current temperature, detect movement of therotatable input mechanism unit; and in response to detecting themovement, enable display of a forecasted temperature for the location.

In some embodiments, a method of providing weather informationcomprises: at an electronic device with a touch-sensitive display and arotatable input mechanism: displaying an affordance on thetouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the displayed affordance; inresponse to detecting the contact, launching the weather application,and displaying indications of a first location and a current temperatureat the first location; while displaying the indications of the firstlocation and current temperature, detecting movement of the rotatableinput mechanism; and in response to detecting the movement of therotatable input mechanism, displaying indications of a second locationdistinct from the first location, and a current temperature at thesecond location.

In some embodiments, a non-transitory computer-readable storage mediumcomprises instructions for: displaying an affordance on atouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the displayed affordance; inresponse to detecting the contact, launching the weather application,and displaying indications of a first location and a current temperatureat the first location; while displaying the indications of the firstlocation and current temperature, detecting movement of a rotatableinput mechanism; and in response to detecting the movement of therotatable input mechanism, displaying indications of a second locationdistinct from the first location, and a current temperature at thesecond location.

In some embodiments, a transitory computer-readable storage mediumcomprises instructions for: displaying an affordance on atouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the displayed affordance; inresponse to detecting the contact, launching the weather application,and displaying indications of a first location and a current temperatureat the first location; while displaying the indications of the firstlocation and current temperature, detecting movement of a rotatableinput mechanism; and in response to detecting the movement of therotatable input mechanism, displaying indications of a second locationdistinct from the first location, and a current temperature at thesecond location.

In some embodiments, a device comprises a touch-sensitive display; arotatable input mechanism; one or more processors; and memory storinginstructions that, when executed by the one or more processors, causethe one or more processors to: display an affordance on thetouch-sensitive display, the affordance representing a weatherapplication; detect a contact on the displayed affordance; in responseto detecting the contact, launch the weather application, and displayindications of a first location and a current temperature at the firstlocation; while displaying the indications of the first location andcurrent temperature, detect movement of the rotatable input mechanism;and in response to detecting the movement of the rotatable inputmechanism, display indications of a second location distinct from thefirst location, and a current temperature at the second location.

In some embodiments, a device comprises means for displaying anaffordance on a touch-sensitive display, the affordance representing aweather application; means for detecting a contact on the displayedaffordance; means responsive to detecting the contact for launching theweather application, and means responsive to detecting the contact fordisplaying indications of a first location and a current temperature atthe first location; means for detecting movement of a rotatable inputmechanism while displaying the indications of the first location andcurrent temperature; and means responsive to detecting the movement ofthe rotatable input mechanism for displaying indications of a secondlocation distinct from the first location, and a current temperature atthe second location.

In some embodiments, an electronic device comprises a touch-sensitivedisplay unit; a rotatable input mechanism unit; and a processing unitcoupled to the touch-sensitive display unit and the rotatable inputmechanism unit, the processing unit configured to: enable display of anaffordance on the touch-sensitive display unit, the affordancerepresenting a weather application; detect a contact on the displayedaffordance, and in response to detecting the contact, launch the weatherapplication, and enable display of indications of a first location and acurrent temperature at the first location; while displaying theindications of the first location and current temperature, detectmovement of the rotatable input mechanism unit; and in response todetecting the movement of the rotatable input mechanism unit, enabledisplay of indications of a second location distinct from the firstlocation, and a current temperature at the second location.

In some embodiments, a method of providing weather informationcomprises: at an electronic device with a touch-sensitive display:obtaining first data representing an upcoming activity; determining thatthe activity is to begin within a threshold amount of time; and inaccordance with the determination the upcoming activity is to beginwithin a threshold amount of time, displaying weather information basedon the upcoming activity.

In some embodiments, a non-transitory computer-readable storage mediumcomprises instructions for: obtaining first data representing anupcoming activity; determining that the activity is to begin within athreshold amount of time; and in accordance with the determination theupcoming activity is to begin within a threshold amount of time,displaying weather information based on the upcoming activity.

In some embodiments, a transitory computer-readable storage mediumcomprises instructions for: obtaining first data representing anupcoming activity; determining that the activity is to begin within athreshold amount of time; and in accordance with the determination theupcoming activity is to begin within a threshold amount of time,displaying weather information based on the upcoming activity.

In some embodiments, a device comprises a touch-sensitive display; oneor more processors; and memory storing instructions that, when executedby the one or more processors, cause the one or more processors to:obtain first data representing an upcoming activity; determine that theactivity is to begin within a threshold amount of time; and inaccordance with the determination the upcoming activity is to beginwithin a threshold amount of time, display weather information based onthe upcoming activity.

In some embodiments, a device comprises means for obtaining first datarepresenting an upcoming activity; means for determining that theactivity is to begin within a threshold amount of time; and means fordisplaying weather information based on the upcoming activity inaccordance with the determination the upcoming activity is to beginwithin a threshold amount of time.

In some embodiments, an electronic device comprises a touch-sensitivedisplay unit; and a processing unit coupled to the touch-sensitivedisplay unit, the processing unit configured to: obtain a first datarepresenting an upcoming activity; determine that the activity is tobegin within a threshold amount of time; and in accordance with adetermination the upcoming activity is to begin within a thresholdamount of time, enable display of weather information based on theupcoming activity.

In some embodiments, a method of providing weather informationcomprises: at an electronic device with a touch-sensitive display:displaying an affordance on the touch-sensitive display, the affordancerepresenting a weather application; detecting a contact on theaffordance; in response to detecting the contact on the affordance:launching the weather application, and displaying a grid comprising aplurality of grid portions representing different geographic locations,including a first grid portion representing a first location and asecond grid portion representing a second location, the first gridportion abutting the second grid portion; detecting a contact on thefirst grid portion; and in response to detecting the contact on thefirst grid portion: ceasing to displaying the grid, and displaying acurrent temperature at the first location.

In some embodiments, a non-transitory computer-readable storage mediumcomprises instructions for: displaying an affordance on atouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the affordance; in response todetecting the contact on the affordance: launching the weatherapplication, and displaying a grid comprising a plurality of gridportions representing different geographic locations, including a firstgrid portion representing a first location and a second grid portionrepresenting a second location, the first grid portion abutting thesecond grid portion; detecting a contact on the first grid portion; andin response to detecting the contact on the first grid portion: ceasingto displaying the grid, and displaying a current temperature at thefirst location.

In some embodiments, a transitory computer-readable storage mediumcomprises instructions for: displaying an affordance on atouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the affordance; in response todetecting the contact on the affordance: launching the weatherapplication, and displaying a grid comprising a plurality of gridportions representing different geographic locations, including a firstgrid portion representing a first location and a second grid portionrepresenting a second location, the first grid portion abutting thesecond grid portion; detecting a contact on the first grid portion; andin response to detecting the contact on the first grid portion: ceasingto displaying the grid, and displaying a current temperature at thefirst location.

In some embodiments, a device comprises a touch-sensitive display: oneor more processors; and memory storing instructions that, when executedby the one or more processors, cause the one or more processors to:display an affordance on the touch-sensitive display, the affordancerepresenting a weather application; detect a contact on the affordance;in response to detecting the contact on the affordance: launch theweather application, and display a grid comprising a plurality of gridportions representing different geographic locations, including a firstgrid portion representing a first location and a second grid portionrepresenting a second location, the first grid portion abutting thesecond grid portion; detect a contact on the first grid portion; and inresponse to detecting the contact on the first grid portion: cease todisplay the grid, and display a current temperature at the firstlocation.

In some embodiments, a device comprises means for displaying anaffordance on a touch-sensitive display, the affordance representing aweather application; means for detecting a contact on the affordance;means responsive to detecting the contact on the affordance forlaunching the weather application, and means responsive to detecting thecontact on the affordance for displaying a grid comprising a pluralityof grid portions representing different geographic locations, includinga first grid portion representing a first location and a second gridportion representing a second location, the first grid portion abuttingthe second grid portion; means for detecting a contact on the first gridportion; and means responsive to detecting the contact on the first gridportion for ceasing to displaying the grid, and means responsive todetecting the contact on the first grid portion for displaying a currenttemperature at the first location.

In some embodiments, an electronic device comprises a touch-sensitivedisplay unit; and a processing unit coupled to the touch-sensitivedisplay unit, the processing unit configured to: enable display of anaffordance on the touch-sensitive display unit, the affordancerepresenting a weather application; detect a contact on the affordance;in response to detecting the contact on the affordance: launch theweather application, and enable display of a grid comprising a pluralityof grid portions representing different geographic locations, includinga first grid portion representing a first location and a second gridportion representing a second location, the first grid portion abuttingthe second grid portion; detect a contact on the first grid portion; andin response to detecting the contact on the first grid portion: cease toenable display of the grid, and enable display of a current temperatureat the first location.

In some embodiments, a method of providing weather informationcomprises: at an electronic device with a touch-sensitive display and arotatable input mechanism: displaying an affordance on thetouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the affordance; in response todetecting the contact on the affordance: launching the weatherapplication, and displaying a plurality of regions representingdifferent geographic locations, the regions arranged along a verticalcolumn, including a first region representing a first location and asecond region representing a second location, the first region abuttingthe second region; detecting a contact on the first region; in responseto detecting the contact on the first region: displaying a currenttemperature at the first location; detecting movement of the rotatableinput mechanism; and in response to detecting the movement: displayinginformation selected from the group consisting of a temperature at thesecond location, the plurality of regions, a forecasted temperature, andadditional weather information.

In some embodiments, a non-transitory computer-readable storage mediumcomprises instructions for: displaying an affordance on atouch-sensitive display, the affordance representing a weatherapplication; detecting a contact on the affordance; in response todetecting the contact on the affordance: launching the weatherapplication, and displaying a plurality of regions representingdifferent geographic locations, the regions arranged along a verticalcolumn, including a first region representing a first location and asecond region representing a second location, the first region abuttingthe second region; detecting a contact on the first region; in responseto detecting the contact on the first region: displaying a currenttemperature at the first location; detecting movement of a rotatableinput mechanism; and in response to detecting the movement: displayinginformation selected from the group consisting of a temperature at thesecond location, the plurality of regions, a forecasted temperature, andadditional weather information.

In some embodiments, a transitory computer-readable storage mediumcomprises instructions for: displaying an affordance on atouch-sensitive display, the affordance representing a weatherapplication, detecting a contact on the affordance; in response todetecting the contact on the affordance: launching the weatherapplication, and displaying a plurality of regions representingdifferent geographic locations, the regions arranged along a verticalcolumn, including a first region representing a first location and asecond region representing a second location, the first region abuttingthe second region; detecting a contact on the first region; in responseto detecting the contact on the first region: displaying a currenttemperature at the first location; detecting movement of a rotatableinput mechanism; and in response to detecting the movement: displayinginformation selected from the group consisting of a temperature at thesecond location, the plurality of regions, a forecasted temperature, andadditional weather information.

In some embodiments, a device comprises a touch-sensitive display; arotatable input mechanism; one or more processors; and memory storinginstructions that, when executed by the one or more processors, causethe one or more processors to: display an affordance on thetouch-sensitive display, the affordance representing a weatherapplication; detect a contact on the affordance; in response todetecting the contact on the affordance: launch the weather application,and display a plurality of regions representing different geographiclocations, the regions arranged along a vertical column, including afirst region representing a first location and a second regionrepresenting a second location, the first region abutting the secondregion; detect a contact on the first region; in response to detectingthe contact on the first region: display a current temperature at thefirst location; detect movement of the rotatable input mechanism; and inresponse to detecting the movement: display information selected fromthe group consisting of a temperature at the second location, theplurality of regions, a forecasted temperature, and additional weatherinformation.

In some embodiments, a device comprises means for displaying anaffordance on a touch-sensitive display, the affordance representing aweather application; means for detecting a contact on the affordance;means responsive to detecting the contact on the affordance forlaunching the weather application, and means responsive to detecting thecontact on the affordance for displaying a plurality of regionsrepresenting different geographic locations, the regions arranged alonga vertical column, including a first region representing a firstlocation and a second region representing a second location, the firstregion abutting the second region; means for detecting a contact on thefirst region; means responsive to detecting the contact on the firstregion for displaying a current temperature at the first location; meansfor detecting movement of a rotatable input mechanism; and meansresponsive to detecting the movement for displaying information selectedfrom the group consisting of a temperature at the second location, theplurality of regions, a forecasted temperature, and additional weatherinformation.

In some embodiments, an electronic device comprises a touch-sensitivedisplay unit; a rotatable input mechanism unit; and a processing unitcoupled to the touch-sensitive display unit and the rotatable inputmechanism unit, the processing unit configured to: enable display of anaffordance on the touch-sensitive display unit, the affordancerepresenting a weather application; detect a contact on the affordance;in response to detecting the contact on the affordance: launch theweather application, and enable display of a plurality of regionsrepresenting different geographic locations, the regions arranged alonga vertical column, including a first region representing a firstlocation and a second region representing a second location, the firstregion abutting the second region; detect a contact on the first region;in response to detecting the contact on the first region, enable displayof a current temperature at the first location; detect movement of therotatable input mechanism unit; and in response to detecting themovement, enable display of information selected from the groupconsisting of a temperature at the second location, the plurality ofregions, a forecasted temperature for the first location, and additionalweather information for the first location.

In some embodiments, a method of providing weather informationcomprises: at an electronic device with a touch-sensitive display and arotatable input mechanism: displaying an image representing a weathercondition for a first time of day; displaying an affordance at a firstposition, the first position corresponding to the first time; detectingmovement of the rotatable input mechanism; and in response to detectingthe movement: moving the affordance from the first position to a secondposition corresponding to a second time of the day, and updating theimage to represent a weather condition for the second time of the day.

In some embodiments, a non-transitory computer-readable storage mediumcomprises instructions for: displaying an image representing a weathercondition for a first time of day; displaying an affordance at a firstposition, the first position corresponding to the first time: detectingmovement of a rotatable input mechanism; and in response to detectingthe movement: moving the affordance from the first position to a secondposition corresponding to a second time of the day, and updating theimage to represent a weather condition for the second time of the day.

In some embodiments, a transitory computer-readable storage mediumcomprises instructions for: displaying an image representing a weathercondition for a first time of day; displaying an affordance at a firstposition, the first position corresponding to the first time; detectingmovement of a rotatable input mechanism; and in response to detectingthe movement: moving the affordance from the first position to a secondposition corresponding to a second time of the day, and updating theimage to represent a weather condition for the second time of the day.

In some embodiments, a device comprises a touch-sensitive display; arotatable input mechanism; one or more processors; and memory storinginstructions that, when executed by the one or more processors, causethe one or more processors to: display an image representing a weathercondition for a first time of day; display an affordance at a firstposition, the first position corresponding to the first time; detectmovement of the rotatable input mechanism; and in response to detectingthe movement: move the affordance from the first position to a secondposition corresponding to a second time of the day, and update the imageto represent a weather condition for the second time of the day.

In some embodiments, a device comprises means for displaying an imagerepresenting a weather condition for a first time of day; means fordisplaying an affordance at a first position, the first positioncorresponding to the first time; means for detecting movement of arotatable input mechanism; and means responsive to detecting themovement for moving the affordance from the first position to a secondposition corresponding to a second time of the day, and means responsiveto detecting the movement for updating the image to represent a weathercondition for the second time of the day.

In some embodiments, an electronic device comprises a touch-sensitivedisplay unit; a rotatable input mechanism unit; and a processing unitcoupled to the touch-sensitive display unit and the rotatable inputmechanism unit, the processing unit configured to: enable display of animage representing a weather condition for a first time of day; enabledisplay of an affordance at a first position, the first positioncorresponding to the first time; detect movement of the rotatable inputmechanism unit; and in response to detecting the movement: move theaffordance from the first position to a second position corresponding toa second time of the day, and update the image to represent a weathercondition for the second time of the day.

In some embodiments, a method of providing weather informationcomprises: at an electronic device obtaining, via wirelesscommunication, weather information for a location comprising a currentweather condition and a forecasted weather condition; and displaying aclock having a clock face, where the clock face comprises a first hourmarker and a second hour marker, where the first hour marker comprises afirst image indicative of the current weather condition, and where thesecond hour marker comprises a second image indicative of the forecastedweather condition.

In some embodiments, a non-transitory computer-readable storage mediumcomprises instructions for: obtaining, via wireless communication,weather information for a location comprising a current weathercondition and a forecasted weather condition; and displaying a clockhaving a clock face, where the clock face comprises a first hour markerand a second hour marker, where the first hour marker comprises a firstimage indicative of the current weather condition, and where the secondhour marker comprises a second image indicative of the forecastedweather condition.

In some embodiments, a transitory computer-readable storage mediumcomprises instructions for: obtaining, via wireless communication,weather information for a location comprising a current weathercondition and a forecasted weather condition; and displaying a clockhaving a clock face, where the clock face comprises a first hour markerand a second hour marker, where the first hour marker comprises a firstimage indicative of the current weather condition, and where the secondhour marker comprises a second image indicative of the forecastedweather condition.

In some embodiments, a device comprises a touch-sensitive display; oneor more processors; and memory storing instructions that, when executedby the one or more processors, cause the one or more processors to:obtain, via wireless communication, weather information for a locationcomprising a current weather condition and a forecasted weathercondition; and display a clock having a clock face, where the clock facecomprises a first hour marker and a second hour marker, where the firsthour marker comprises a first image indicative of the current weathercondition, and where the second hour marker comprises a second imageindicative of the forecasted weather condition.

In some embodiments, a device comprises means for obtaining, viawireless communication, weather information for a location comprising acurrent weather condition and a forecasted weather condition; and meansfor displaying a clock having a clock face, where the clock facecomprises a first hour marker and a second hour marker, where the firsthour marker comprises a first image indicative of the current weathercondition, and where the second hour marker comprises a second imageindicative of the forecasted weather condition.

In some embodiments, an electronic device comprises a touch-sensitivedisplay unit; and a processing unit coupled to the touch-sensitivedisplay unit, the processing unit configured to: obtain, via wirelesscommunication, weather information for a location comprising a currentweather condition and a forecasted weather condition; and enable displayon the display unit of a clock having a clock face, wherein the clockface comprises a first hour marker and a second hour marker, wherein thefirst hour marker comprises a first image indicative of the currentweather condition, and wherein the second hour marker comprises a secondimage indicative of the forecasted weather condition.

Thus, devices are provided with more efficient and less cumbersomemethods and interfaces for providing weather information, therebyincreasing the effectiveness, efficiency, and user satisfaction withsuch devices. Such methods and interfaces may complement or replaceother methods for providing weather information.

DESCRIPTION OF THE FIGURES

FIG. 1A is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display in accordance with some embodiments.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling in accordance with some embodiments.

FIG. 2 illustrates a portable multifunction device having atouch-sensitive display in accordance with some embodiments.

FIG. 3 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments.

FIGS. 4A and 4B illustrate an exemplary user interface for a menu ofapplications on a portable multifunction device in accordance with someembodiments.

FIG. 5A is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display and a rotatable input mechanism inaccordance with some embodiments.

FIG. 5B illustrates a portable multifunction device having atouch-sensitive display and a rotatable input mechanism in accordancewith some embodiments.

FIGS. 5C-5D illustrate exemplary components of a personal electronicdevice having a touch-sensitive display and intensity sensors inaccordance with some embodiments.

FIGS. 5E-5H illustrate exemplary components and user interfaces of apersonal electronic device in accordance with some embodiments.

FIG. 6 illustrates exemplary user interfaces for providing weatherinformation.

FIG. 7 illustrates exemplary user interfaces for providing weatherinformation.

FIG. 8 illustrates exemplary user interfaces for providing weatherinformation.

FIG. 9 illustrates exemplary user interfaces for providing weatherinformation.

FIG. 10 illustrates exemplary user interfaces for providing weatherinformation.

FIG. 11 illustrates exemplary user interfaces for providing weatherinformation.

FIG. 12 illustrates exemplary user interfaces for providing weatherinformation.

FIG. 13A illustrates exemplary user interfaces for providing weatherinformation.

FIG. 13B illustrates exemplary user interfaces for providing weatherinformation.

FIG. 14 is a flow diagram illustrating a process for providing weatherinformation.

FIG. 15 is a flow diagram illustrating a process for providing weatherinformation.

FIG. 16 is a flow diagram illustrating a process for providing weatherinformation.

FIG. 17 is a flow diagram illustrating a process for providing weatherinformation.

FIG. 18 is a flow diagram illustrating a process for providing weatherinformation.

FIG. 19 is a flow diagram illustrating a process for providing weatherinformation.

FIG. 20 is a flow diagram illustrating a process for providing weatherinformation.

FIG. 21 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIG. 22 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIG. 23 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIG. 24 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIG. 25 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIG. 26 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIG. 27 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIG. 28 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIG. 29 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIG. 30 is a flow diagram illustrating a process for providing weatherinformation.

DETAILED DESCRIPTION

The following description sets forth exemplary methods, parameters andthe like. It should be recognized, however, that such description is notintended as a limitation on the scope of the present disclosure but isinstead provided as a description of exemplary embodiments.

As discussed above, a user may wish to obtain various types of weatherinformation and weather alerts from a reduced-size portable electronicdevice. Such information may include weather conditions (e.g.,temperature, precipitation, sunshine, cloud cover, wind, and so forth),weather at a specific time of day, weather at a specific location, andweather forecasted for a specific time and location. It is desirable toprovide this information to a user in a way that is convenientlyaccessible and comprehensive, yet also clear, concise, and usable whendisplayed on portable electronic devices.

Below, FIGS. 1A-1B, 2, 3, 4A-4B, and 5A-5B provide a description ofexemplary devices for performing the techniques for providing weatherinformation to a user. FIGS. 6-13 illustrate exemplary user interfacesfor providing weather information on these exemplary devices. The userinterfaces in the figures are also used to illustrate the processesdescribed below, including the processes in FIGS. 14-20 and 30.

Although the following description uses terms “first,” “second,” etc. todescribe various elements, these elements should not be limited by theterms. These terms are only used to distinguish one element fromanother. For example, a first touch could be termed a second touch, and,similarly, a second touch could be termed a first touch, withoutdeparting from the scope of the various described embodiments. The firsttouch and the second touch are both touches, but they are not the sametouch.

The terminology used in the description of the various describedembodiments herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used in thedescription of the various described embodiments and the appendedclaims, the singular forms “a”, “an,” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will also be understood that the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. It will be furtherunderstood that the terms “includes,” “including,” “comprises,” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

The term “if” may be construed to mean “when” or “upon” or “in responseto determining” or “in response to detecting,” depending on the context.Similarly, the phrase “if it is determined” or “if [a stated conditionor event] is detected” may be construed to mean “upon determining” or“in response to determining” or “upon detecting [the stated condition orevent]” or “in response to detecting [the stated condition or event],”depending on the context.

Embodiments of electronic devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the device is a portable communications device, such as amobile telephone, that also contains other functions, such as PDA and/ormusic player functions. Exemplary embodiments of portable multifunctiondevices include, without limitation, the iPhone®, iPod Touch®, and iPad®devices from Apple Inc. of Cupertino, Calif. Other portable electronicdevices, such as laptops or tablet computers with touch-sensitivesurfaces (e.g., touch screen displays and/or touchpads), are,optionally, used. It should also be understood that, in someembodiments, the device is not a portable communications device, but isa desktop computer with a touch-sensitive surface (e.g., a touch screendisplay and/or a touchpad).

In the discussion that follows, an electronic device that includes adisplay and a touch-sensitive surface is described. It should beunderstood, however, that the electronic device optionally includes oneor more other physical user-interface devices, such as a physicalkeyboard, a mouse, and/or a joystick.

The device may support a variety of applications, such as one or more ofthe following: a drawing application, a presentation application, a wordprocessing application, a website creation application, a disk authoringapplication, a spreadsheet application, a gaming application, atelephone application, a video conferencing application, an e-mailapplication, an instant messaging application, a workout supportapplication, a photo management application, a digital cameraapplication, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that are executed on the device optionally useat least one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the deviceare, optionally, adjusted and/or varied from one application to the nextand/or within a respective application. In this way, a common physicalarchitecture (such as the touch-sensitive surface) of the deviceoptionally supports the variety of applications with user interfacesthat are intuitive and transparent to the user.

Attention is now directed toward embodiments of portable devices withtouch-sensitive displays. FIG. 1A is a block diagram illustratingportable multifunction device 100 with touch-sensitive display system112 in accordance with some embodiments. Touch-sensitive display 112 issometimes called a “touch screen” for convenience and is sometimes knownas or called a “touch-sensitive display system.” Device 100 includesmemory 102 (which optionally includes one or more computer-readablestorage mediums), memory controller 122, one or more processing units(CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry110, speaker 111, microphone 113, input/output (I/O) subsystem 106,other input control devices 116, and external port 124. Device 100optionally includes one or more optical sensors 164. Device 100optionally includes one or more contact intensity sensors 165 fordetecting intensity of contacts on device 100 (e.g., a touch-sensitivesurface such as touch-sensitive display system 112 of device 100).Device 100 optionally includes one or more tactile output generators 167for generating tactile outputs on device 100 (e.g., generating tactileoutputs on a touch-sensitive surface such as touch-sensitive displaysystem 112 of device 100 or touchpad 355 of device 300). Thesecomponents optionally communicate over one or more communication busesor signal lines 103.

As used in the specification and claims, the term “intensity” of acontact on a touch-sensitive surface refers to the force or pressure(force per unit area) of a contact (e.g., a finger contact) on thetouch-sensitive surface, or to a substitute (proxy) for the force orpressure of a contact on the touch-sensitive surface. The intensity of acontact has a range of values that includes at least four distinctvalues and more typically includes hundreds of distinct values (e.g., atleast 256). Intensity of a contact is, optionally, determined (ormeasured) using various approaches and various sensors or combinationsof sensors. For example, one or more force sensors underneath oradjacent to the touch-sensitive surface are, optionally, used to measureforce at various points on the touch-sensitive surface. In someimplementations, force measurements from multiple force sensors arecombined (e.g., a weighted average) to determine an estimated force of acontact. Similarly, a pressure-sensitive tip of a stylus is, optionally,used to determine a pressure of the stylus on the touch-sensitivesurface. Alternatively, the size of the contact area detected on thetouch-sensitive surface and/or changes thereto, the capacitance of thetouch-sensitive surface proximate to the contact and/or changes thereto,and/or the resistance of the touch-sensitive surface proximate to thecontact and/or changes thereto are, optionally, used as a substitute forthe force or pressure of the contact on the touch-sensitive surface. Insome implementations, the substitute measurements for contact force orpressure are used directly to determine whether an intensity thresholdhas been exceeded (e.g., the intensity threshold is described in unitscorresponding to the substitute measurements). In some implementations,the substitute measurements for contact force or pressure are convertedto an estimated force or pressure and the estimated force or pressure isused to determine whether an intensity threshold has been exceeded(e.g., the intensity threshold is a pressure threshold measured in unitsof pressure). Using the intensity of a contact as an attribute of a userinput allows for user access to additional device functionality that mayotherwise not be accessible by the user on a reduced-size device withlimited real estate for displaying affordances (e.g., on atouch-sensitive display) and/or receiving user input (e.g., via atouch-sensitive display, a touch-sensitive surface, or aphysical/mechanical control such as a knob or a button).

As used in the specification and claims, the term “tactile output”refers to physical displacement of a device relative to a previousposition of the device, physical displacement of a component (e.g., atouch-sensitive surface) of a device relative to another component(e.g., housing) of the device, or displacement of the component relativeto a center of mass of the device that will be detected by a user withthe user's sense of touch. For example, in situations where the deviceor the component of the device is in contact with a surface of a userthat is sensitive to touch (e.g., a finger, palm, or other part of auser's hand), the tactile output generated by the physical displacementwill be interpreted by the user as a tactile sensation corresponding toa perceived change in physical characteristics of the device or thecomponent of the device. For example, movement of a touch-sensitivesurface (e.g., a touch-sensitive display or trackpad) is, optionally,interpreted by the user as a “down click” or “up click” of a physicalactuator button. In some cases, a user will feel a tactile sensationsuch as an “down click” or “up click” even when there is no movement ofa physical actuator button associated with the touch-sensitive surfacethat is physically pressed (e.g., displaced) by the user's movements. Asanother example, movement of the touch-sensitive surface is, optionally,interpreted or sensed by the user as “roughness” of the touch-sensitivesurface, even when there is no change in smoothness of thetouch-sensitive surface. While such interpretations of touch by a userwill be subject to the individualized sensory perceptions of the user,there are many sensory perceptions of touch that are common to a largemajority of users. Thus, when a tactile output is described ascorresponding to a particular sensory perception of a user (e.g., an “upclick,” a “down click,” “roughness”), unless otherwise stated, thegenerated tactile output corresponds to physical displacement of thedevice or a component thereof that will generate the described sensoryperception for a typical (or average) user.

It should be appreciated that device 100 is only one example of aportable multifunction device, and that device 100 optionally has moreor fewer components than shown, optionally combines two or morecomponents, or optionally has a different configuration or arrangementof the components. The various components shown in FIG. 1A areimplemented in hardware, software, or a combination of both hardware andsoftware, including one or more signal processing and/orapplication-specific integrated circuits.

Memory 102 may include one or more computer-readable storage mediums.The computer-readable storage mediums may be tangible andnon-transitory. Memory 102 may include high-speed random access memoryand may also include non-volatile memory, such as one or more magneticdisk storage devices, flash memory devices, or other non-volatilesolid-state memory devices. Memory controller 122 may control access tomemory 102 by other components of device 100.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data. In some embodiments, peripheralsinterface 118, CPU 120, and memory controller 122 may be implemented ona single chip, such as chip 104. In some other embodiments, they may beimplemented on separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 optionally includes well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 optionally communicates with networks, such as theInternet, also referred to as the World Wide Web (WWW), an intranetand/or a wireless network, such as a cellular telephone network, awireless local area network (LAN) and/or a metropolitan area network(MAN), and other devices by wireless communication. The RF circuitry 108optionally includes well-known circuitry for detecting near fieldcommunication (NFC) fields, such as by a short-range communicationradio. The wireless communication optionally uses any of a plurality ofcommunications standards, protocols, and technologies, including but notlimited to Global System for Mobile Communications (GSM), Enhanced DataGSM Environment (EDGE), high-speed downlink packet access (HSDPA),high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO),HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), nearfield communication (NFC), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity(Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n,and/or IEEE 802.11ac), voice over Internet Protocol (VoIP), Wi-MAX, aprotocol for e-mail (e.g., Internet message access protocol (IMAP)and/or post office protocol (POP)), instant messaging (e.g., extensiblemessaging and presence protocol (XMPP), Session Initiation Protocol forInstant Messaging and Presence Leveraging Extensions (SIMPLE), InstantMessaging and Presence Service (IMPS)), and/or Short Message Service(SMS), or any other suitable communication protocol, includingcommunication protocols not yet developed as of the filing date of thisdocument.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data may be retrievedfrom and/or transmitted to memory 102 and/or RF circuitry 108 byperipherals interface 118. In some embodiments, audio circuitry 110 alsoincludes a headset jack (e.g., 212, FIG. 2). The headset jack providesan interface between audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch screen 112 and other input control devices 116, to peripheralsinterface 118. I/O subsystem 106 optionally includes display controller156, optical sensor controller 158, intensity sensor controller 159,haptic feedback controller 161, and one or more input controllers 160for other input or control devices. The one or more input controllers160 receive/send electrical signals from/to other input control devices116. The other input control devices 116 optionally include physicalbuttons (e.g., push buttons, rocker buttons, etc.), dials, sliderswitches, joysticks, click wheels, and so forth. In some alternateembodiments, input controller(s) 160 are, optionally, coupled to any (ornone) of the following: a keyboard, an infrared port, a USB port, and apointer device such as a mouse. The one or more buttons (e.g., 208, FIG.2) optionally include an up/down button for volume control of speaker111 and/or microphone 113. The one or more buttons optionally include apush button (e.g., 206, FIG. 2).

A quick press of the push button may disengage a lock of touch screen112 or begin a process that uses gestures on the touch screen to unlockthe device, as described in U.S. patent application Ser. No. 11/322,549,“Unlocking a Device by Performing Gestures on an Unlock Image,” filedDec. 23, 2005, U.S. Pat. No. 7,657,849, which is hereby incorporated byreference in its entirety. A longer press of the push button (e.g., 206)may turn power to device 100 on or off. The user may be able tocustomize a functionality of one or more of the buttons. Touch screen112 is used to implement virtual or soft buttons and one or more softkeyboards.

Touch-sensitive display 112 provides an input interface and an outputinterface between the device and a user. Display controller 156 receivesand/or sends electrical signals from/to touch screen 112. Touch screen112 displays visual output to the user. The visual output may includegraphics, text, icons, video, and any combination thereof (collectivelytermed “graphics”). In some embodiments, some or all of the visualoutput may correspond to user-interface objects.

Touch screen 112 has a touch-sensitive surface, sensor or set of sensorsthat accepts input from the user based on haptic and/or tactile contact.Touch screen 112 and display controller 156 (along with any associatedmodules and/or sets of instructions in memory 102) detect contact (andany movement or breaking of the contact) on touch screen 112 and convertthe detected contact into interaction with user-interface objects (e.g.,one or more soft keys, icons, web pages, or images) that are displayedon touch screen 112. In an exemplary embodiment, a point of contactbetween touch screen 112 and the user corresponds to a finger of theuser.

Touch screen 112 may use LCD (liquid crystal display) technology, LPD(light emitting polymer display) technology, or LED (light emittingdiode) technology, although other display technologies may be used inother embodiments. Touch screen 112 and display controller 156 maydetect contact and any movement or breaking thereof using any of aplurality of touch sensing technologies now known or later developed,including but not limited to capacitive, resistive, infrared, andsurface acoustic wave technologies, as well as other proximity sensorarrays or other elements for determining one or more points of contactwith touch screen 112. In an exemplary embodiment, projected mutualcapacitance sensing technology is used, such as that found in theiPhone® and iPod Touch® from Apple Inc. of Cupertino, Calif.

A touch-sensitive display in some embodiments of touch screen 112 may beanalogous to the multi-touch sensitive touchpads described in thefollowing U.S. Pat. No. 6,323,846 (Westerman et al.), U.S. Pat. No.6,570,557 (Westerman et al.), and/or U.S. Pat. No. 6,677,932(Westerman), and/or U.S. Patent Publication 2002/0015024A1, each ofwhich is hereby incorporated by reference in its entirety. However,touch screen 112 displays visual output from device 100, whereastouch-sensitive touchpads do not provide visual output.

A touch-sensitive display in some embodiments of touch screen 112 may beas described in the following applications: (1) U.S. patent applicationSer. No. 11/381,313, “Multipoint Touch Surface Controller,” filed May 2,2006; (2) U.S. patent application Ser. No. 10/840,862, “MultipointTouchscreen,” filed May 6, 2004; (3) U.S. patent application Ser. No.10/903,964, “Gestures For Touch Sensitive Input Devices,” filed Jul. 30,2004; (4) U.S. patent application Ser. No. 11/048,264, “Gestures ForTouch Sensitive Input Devices,” filed Jan. 31, 2005; (5) U.S. patentapplication Ser. No. 11/038,590, “Mode-Based Graphical User InterfacesFor Touch Sensitive Input Devices,” filed Jan. 18, 2005; (6) U.S. patentapplication Ser. No. 11/228,758, “Virtual Input Device Placement On ATouch Screen User Interface,” filed Sep. 16, 2005; (7) U.S. patentapplication Ser. No. 11/228,700, “Operation Of A Computer With A TouchScreen Interface,” filed Sep. 16, 2005; (8) U.S. patent application Ser.No. 11/228,737, “Activating Virtual Keys Of A Touch-Screen VirtualKeyboard,” filed Sep. 16, 2005; and (9) U.S. patent application Ser. No.11/367,749, “Multi-Functional Hand-Held Device,” filed Mar. 3, 2006. Allof these applications are incorporated by reference herein in theirentirety.

Touch screen 112 may have a video resolution in excess of 100 dpi. Insome embodiments, the touch screen has a video resolution ofapproximately 160 dpi. The user may make contact with touch screen 112using any suitable object or appendage, such as a stylus, a finger, andso forth. In some embodiments, the user interface is designed to workprimarily with finger-based contacts and gestures, which can be lessprecise than stylus-based input due to the larger area of contact of afinger on the touch screen. In some embodiments, the device translatesthe rough finger-based input into a precise pointer/cursor position orcommand for performing the actions desired by the user.

In some embodiments, in addition to the touch screen, device 100 mayinclude a touchpad (not shown) for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device that, unlike the touch screen, does not display visualoutput. The touchpad may be a touch-sensitive surface that is separatefrom touch screen 112 or an extension of the touch-sensitive surfaceformed by the touch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 may include a power management system, oneor more power sources (e.g., battery, alternating current (AC)), arecharging system, a power failure detection circuit, a power converteror inverter, a power status indicator (e.g., a light-emitting diode(LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 may also include one or more optical sensors 164. FIG. 1Ashows an optical sensor coupled to optical sensor controller 158 in I/Osubsystem 106. Optical sensor 164 may include charge-coupled device(CCD) or complementary metal-oxide semiconductor (CMOS)phototransistors. Optical sensor 164 receives light from theenvironment, projected through one or more lenses, and converts thelight to data representing an image. In conjunction with imaging module143 (also called a camera module), optical sensor 164 may capture stillimages or video. In some embodiments, an optical sensor is located onthe back of device 100, opposite touch screen display 112 on the frontof the device so that the touch screen display may be used as aviewfinder for still and/or video image acquisition. In someembodiments, an optical sensor is located on the front of the device sothat the user's image may be obtained for video conferencing while theuser views the other video conference participants on the touch screendisplay. In some embodiments, the position of optical sensor 164 can bechanged by the user (e.g., by rotating the lens and the sensor in thedevice housing) so that a single optical sensor 164 may be used alongwith the touch screen display for both video conferencing and stilland/or video image acquisition.

Device 100 optionally also includes one or more contact intensitysensors 165. FIG. 1A shows a contact intensity sensor coupled tointensity sensor controller 159 in I/O subsystem 106. Contact intensitysensor 165 optionally includes one or more piezoresistive strain gauges,capacitive force sensors, electric force sensors, piezoelectric forcesensors, optical force sensors, capacitive touch-sensitive surfaces, orother intensity sensors (e.g., sensors used to measure the force (orpressure) of a contact on a touch-sensitive surface). Contact intensitysensor 165 receives contact intensity information (e.g., pressureinformation or a proxy for pressure information) from the environment.In some embodiments, at least one contact intensity sensor is collocatedwith, or proximate to, a touch-sensitive surface (e.g., touch-sensitivedisplay system 112). In some embodiments, at least one contact intensitysensor is located on the back of device 100, opposite touch screendisplay 112, which is located on the front of device 100.

Device 100 may also include one or more proximity sensors 166. FIG. 1Ashows proximity sensor 166 coupled to peripherals interface 118.Alternately, proximity sensor 166 may be coupled to input controller 160in I/O subsystem 106. Proximity sensor 166 may perform as described inU.S. patent application Ser. No. 11/241,839, “Proximity Detector InHandheld Device”; Ser. No. 11/240,788, “Proximity Detector In HandheldDevice”; Ser. No. 11/620,702, “Using Ambient Light Sensor To AugmentProximity Sensor Output”; Ser. No. 11/586,862, “Automated Response ToAnd Sensing Of User Activity In Portable Devices”; and Ser. No.11/638,251, “Methods And Systems For Automatic Configuration OfPeripherals,” which are hereby incorporated by reference in theirentirety. In some embodiments, the proximity sensor turns off anddisables touch screen 112 when the multifunction device is placed nearthe user's ear (e.g., when the user is making a phone call).

Device 100 optionally also includes one or more tactile outputgenerators 167. FIG. 1A shows a tactile output generator coupled tohaptic feedback controller 161 in I/O subsystem 106. Tactile outputgenerator 167 optionally includes one or more electroacoustic devicessuch as speakers or other audio components and/or electromechanicaldevices that convert energy into linear motion such as a motor,solenoid, electroactive polymer, piezoelectric actuator, electrostaticactuator, or other tactile output generating component (e.g., acomponent that converts electrical signals into tactile outputs on thedevice). Contact intensity sensor 165 receives tactile feedbackgeneration instructions from haptic feedback module 133 and generatestactile outputs on device 100 that are capable of being sensed by a userof device 100. In some embodiments, at least one tactile outputgenerator is collocated with, or proximate to, a touch-sensitive surface(e.g., touch-sensitive display system 112) and, optionally, generates atactile output by moving the touch-sensitive surface vertically (e.g.,in/out of a surface of device 100) or laterally (e.g., back and forth inthe same plane as a surface of device 100). In some embodiments, atleast one tactile output generator sensor is located on the back ofdevice 100, opposite touch screen display 112, which is located on thefront of device 100.

Device 100 may also include one or more accelerometers 168. FIG. 1Ashows accelerometer 168 coupled to peripherals interface 118.Alternately, accelerometer 168 may be coupled to an input controller 160in I/O subsystem 106. Accelerometer 168 may perform as described in U.S.Patent Publication No. 20050190059, “Acceleration-based Theft DetectionSystem for Portable Electronic Devices,” and U.S. Patent Publication No.20060017692, “Methods And Apparatuses For Operating A Portable DeviceBased On An Accelerometer,” both of which are incorporated by referenceherein in their entirety. In some embodiments, information is displayedon the touch screen display in a portrait view or a landscape view basedon an analysis of data received from the one or more accelerometers.Device 100 optionally includes, in addition to accelerometer(s) 168, amagnetometer (not shown) and a GPS (or GLONASS or other globalnavigation system) receiver (not shown) for obtaining informationconcerning the location and orientation (e.g., portrait or landscape) ofdevice 100.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, text input module (or setof instructions) 134, Global Positioning System (GPS) module (or set ofinstructions) 135, and applications (or sets of instructions) 136.Furthermore, in some embodiments memory 102 (FIG. 1A) or 370 (FIG. 3)stores device/global internal state 157, as shown in FIGS. 1A and 3.Device/global internal state 157 includes one or more of: activeapplication state, indicating which applications, if any, are currentlyactive; display state, indicating what applications, views or otherinformation occupy various regions of touch screen display 112; sensorstate, including information obtained from the device's various sensorsand input control devices 116, and location information concerning thedevice's location and/or attitude.

Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector that is the same as, or similar to and/or compatible with the30-pin connector used on iPod® (trademark of Apple Inc.) devices.

Contact/motion module 130 optionally detects contact with touch screen112 (in conjunction with display controller 156) and other touchsensitive devices (e.g., a touchpad or physical click wheel).Contact/motion module 130 includes various software components forperforming various operations related to detection of contact, such asdetermining if contact has occurred (e.g., detecting a finger-downevent), determining an intensity of the contact (e.g., the force orpressure of the contact or a substitute for the force or pressure of thecontact), determining if there is movement of the contact and trackingthe movement across the touch-sensitive surface (e.g., detecting one ormore finger-dragging events), and determining if the contact has ceased(e.g., detecting a finger-up event or a break in contact).Contact/motion module 130 receives contact data from the touch-sensitivesurface. Determining movement of the point of contact, which isrepresented by a series of contact data, optionally includes determiningspeed (magnitude), velocity (magnitude and direction), and/or anacceleration (a change in magnitude and/or direction) of the point ofcontact. These operations are, optionally, applied to single contacts(e.g., one finger contacts) or to multiple simultaneous contacts (e.g.,“multitouch”/multiple finger contacts). In some embodiments,contact/motion module 130 and display controller 156 detect contact on atouchpad.

In some embodiments, contact/motion module 130 uses a set of one or moreintensity thresholds to determine whether an operation has beenperformed by a user (e.g., to determine whether a user has “clicked” onan icon). In some embodiments at least a subset of the intensitythresholds are determined in accordance with software parameters (e.g.,the intensity thresholds are not determined by the activation thresholdsof particular physical actuators and can be adjusted without changingthe physical hardware of device 100). For example, a mouse “click”threshold of a trackpad or touch screen display can be set to any of alarge range of predefined threshold values without changing the trackpador touch screen display hardware. Additionally, in some implementationsa user of the device is provided with software settings for adjustingone or more of the set of intensity thresholds (e.g., by adjustingindividual intensity thresholds and/or by adjusting a plurality ofintensity thresholds at once with a system-level click “intensity”parameter).

Contact/motion module 130 optionally detects a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns (e.g., different motions, timings, and/or intensities ofdetected contacts). Thus, a gesture is, optionally, detected bydetecting a particular contact pattern. For example, detecting a fingertap gesture includes detecting a finger-down event followed by detectinga finger-up (liftoff) event at the same position (or substantially thesame position) as the finger-down event (e.g., at the position of anicon). As another example, detecting a finger swipe gesture on thetouch-sensitive surface includes detecting a finger-down event followedby detecting one or more finger-dragging events, and subsequentlyfollowed by detecting a finger-up (liftoff) event.

Graphics module 132 includes various known software components forrendering and displaying graphics on touch screen 112 or other display,including components for changing the visual impact (e.g., brightness,transparency, saturation, contrast or other visual property) of graphicsthat are displayed. As used herein, the term “graphics” includes anyobject that can be displayed to a user, including, without limitation,text, web pages, icons (such as user-interface objects including softkeys), digital images, videos, animations and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic is, optionally, assigned acorresponding code. Graphics module 132 receives, from applicationsetc., one or more codes specifying graphics to be displayed along with,if necessary, coordinate data and other graphic property data, and thengenerates screen image data to output to display controller 156.

Haptic feedback module 133 includes various software components forgenerating instructions used by tactile output generator(s) 167 toproduce tactile outputs at one or more locations on device 100 inresponse to user interactions with device 100.

Text input module 134, which may be a component of graphics module 132,provides soft keyboards for entering text in various applications (e.g.,contacts 137, e-mail 140, IM 141, browser 147, and any other applicationthat needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing; to camera 143 as picture/video metadata;and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 may include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   Contacts module 137 (sometimes called an address book or contact        list);    -   Telephone module 138;    -   Video conference module 139;    -   E-mail client module 140;    -   Instant messaging (IM) module 141;    -   Workout support module 142;    -   Camera module 143 for still and/or video images;    -   Image management module 144;    -   Video player module;    -   Music player module;    -   Browser module 147;    -   Calendar module 148;    -   Widget modules 149, which may include one or more of: weather        widget 149-1, stocks widget 149-2, calculator widget 149-3,        alarm clock widget 149-4, dictionary widget 149-5, and other        widgets obtained by the user, as well as user-created widgets        149-6;    -   Widget creator module 150 for making user-created widgets 149-6;    -   Search module 151;    -   Video and music player module 152, which merges video player        module and music player module;    -   Notes module 153;    -   Map module 154; and/or    -   Online video module 155.

Examples of other applications 136 that may be stored in memory 102include other word processing applications, other image editingapplications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, contacts module 137 may be used to manage an address book orcontact list (e.g., stored in application internal state 192 of contactsmodule 137 in memory 102 or memory 370), including: adding name(s) tothe address book; deleting name(s) from the address book; associatingtelephone number(s), e-mail address(es), physical address(es) or otherinformation with a name; associating an image with a name; categorizingand sorting names; providing telephone numbers or e-mail addresses toinitiate and/or facilitate communications by telephone 138, videoconference module 139, e-mail 140, or IM 141; and so forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, contact/motionmodule 130, graphics module 132, and text input module 134, telephonemodule 138 may be used to enter a sequence of characters correspondingto a telephone number, access one or more telephone numbers in contactsmodule 137, modify a telephone number that has been entered, dial arespective telephone number, conduct a conversation and disconnect orhang up when the conversation is completed. As noted above, the wirelesscommunication may use any of a plurality of communications standards,protocols and technologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, optical sensor164, optical sensor controller 158, contact/motion module 130, graphicsmodule 132, text input module 134, contacts module 137, and telephonemodule 138, video conference module 139 includes executable instructionsto initiate, conduct, and terminate a video conference between a userand one or more other participants in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, e-mail client module 140 includes executableinstructions to create, send, receive, and manage e-mail in response touser instructions. In conjunction with image management module 144,e-mail client module 140 makes it very easy to create and send e-mailswith still or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, the instant messaging module 141 includes executableinstructions to enter a sequence of characters corresponding to aninstant message, to modify previously entered characters, to transmit arespective instant message (for example, using a Short Message Service(SMS) or Multimedia Message Service (MMS) protocol for telephony-basedinstant messages or using XMPP, SIMPLE, or IMPS for Internet-basedinstant messages), to receive instant messages and to view receivedinstant messages. In some embodiments, transmitted and/or receivedinstant messages may include graphics, photos, audio files, video filesand/or other attachments as are supported in an MMS and/or an EnhancedMessaging Service (EMS). As used herein, “instant messaging” refers toboth telephony-based messages (e.g., messages sent using SMS or MMS) andInternet-based messages (e.g., messages sent using XMPP, SIMPLE, orIMPS).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, GPS module 135, map module 154, and music playermodule, workout support module 142 includes executable instructions tocreate workouts (e.g., with time, distance, and/or calorie burninggoals); communicate with workout sensors (sports devices); receiveworkout sensor data; calibrate sensors used to monitor a workout; selectand play music for a workout; and display, store and transmit workoutdata.

In conjunction with touch screen 112, display controller 156, opticalsensor(s) 164, optical sensor controller 158, contact/motion module 130,graphics module 132, and image management module 144, camera module 143includes executable instructions to capture still images or video(including a video stream) and store them into memory 102, modifycharacteristics of a still image or video, or delete a still image orvideo from memory 102.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, text input module 134,and camera module 143, image management module 144 includes executableinstructions to arrange, modify (e.g., edit), or otherwise manipulate,label, delete, present (e.g., in a digital slide show or album), andstore still and/or video images.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, browser module 147 includes executable instructions tobrowse the Internet in accordance with user instructions, includingsearching, linking to, receiving, and displaying web-pages or portionsthereof, as well as attachments and other files linked to web-pages.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, e-mail client module 140, and browser module 147,calendar module 148 includes executable instructions to create, display,modify, and store calendars and data associated with calendars (e.g.,calendar entries, to do lists, etc.) in accordance with userinstructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, and browser module 147, widget modules 149 aremini-applications that may be downloaded and used by a user (e.g.,weather widget 149-1, stocks widget 149-2, calculator widget 149-3,alarm clock widget 149-4, and dictionary widget 149-5) or created by theuser (e.g., user-created widget 149-6). In some embodiments, a widgetincludes an HTML (Hypertext Markup Language) file, a CSS (CascadingStyle Sheets) file, and a JavaScript file. In some embodiments, a widgetincludes an XML (Extensible Markup Language) file and a JavaScript file(e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, and browser module 147, the widget creator module 150may be used by a user to create widgets (e.g., turning a user-specifiedportion of a web-page into a widget).

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, search module 151 includes executable instructions to search fortext, music, sound, image, video, and/or other files in memory 102 thatmatch one or more search criteria (e.g., one or more user-specifiedsearch terms) in accordance with user instructions.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, audio circuitry 110,speaker 111, RF circuitry 108, and browser module 147, video and musicplayer module 152 includes executable instructions that allow the userto download and play back recorded music and other sound files stored inone or more file formats, such as MP3 or AAC files, and executableinstructions to display, present or otherwise play back videos (e.g., ontouch screen 112 or on an external, connected display via external port124). In some embodiments, device 100 optionally includes thefunctionality of an MP3 player, such as an iPod (trademark of AppleInc.).

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, notes module 153 includes executable instructions to create andmanage notes, to do lists, and the like in accordance with userinstructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, GPS module 135, and browser module 147, map module 154may be used to receive, display, modify, and store maps and dataassociated with maps (e.g., driving directions; data on stores and otherpoints of interest at or near a particular location; and otherlocation-based data) in accordance with user instructions.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, audio circuitry 110,speaker 111, RF circuitry 108, text input module 134, e-mail clientmodule 140, and browser module 147, online video module 155 includesinstructions that allow the user to access, browse, receive (e.g., bystreaming and/or download), play back (e.g., on the touch screen or onan external, connected display via external port 124), send an e-mailwith a link to a particular online video, and otherwise manage onlinevideos in one or more file formats, such as H.264. In some embodiments,instant messaging module 141, rather than e-mail client module 140, isused to send a link to a particular online video. Additional descriptionof the online video application can be found in U.S. Provisional PatentApplication No. 60/936,562, “Portable Multifunction Device, Method, andGraphical User Interface for Playing Online Videos,” filed Jun. 20,2007, and U.S. patent application Ser. No. 11/968,067, “PortableMultifunction Device, Method, and Graphical User Interface for PlayingOnline Videos,” filed Dec. 31, 2007, the contents of which are herebyincorporated by reference in their entirety.

Each of the above identified modules and applications corresponds to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (e.g., sets of instructions) need notbe implemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwiserearranged in various embodiments. For example, video player module maybe combined with music player module into a single module (e.g., videoand music player module 152, FIG. 1A). In some embodiments, memory 102may store a subset of the modules and data structures identified above.Furthermore, memory 102 may store additional modules and data structuresnot described above.

In some embodiments, device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device100, the number of physical input control devices (such as push buttons,dials, and the like) on device 100 may be reduced.

The predefined set of functions that are performed exclusively through atouch screen and/or a touchpad optionally include navigation betweenuser interfaces. In some embodiments, the touchpad, when touched by theuser, navigates device 100 to a main, home, or root menu from any userinterface that is displayed on device 100. In such embodiments, a “menubutton” is implemented using a touchpad. In some other embodiments, themenu button is a physical push button or other physical input controldevice instead of a touchpad.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling in accordance with some embodiments. In some embodiments,memory 102 (in FIG. 1A) or 370 (FIG. 3) includes event sorter 170 (e.g.,in operating system 126) and a respective application 136-1 (e.g., anyof the aforementioned applications 137-151, 155, 380-390).

Event sorter 170 receives event information and determines theapplication 136-1 and application view 191 of application 136-1 to whichto deliver the event information. Event sorter 170 includes eventmonitor 171 and event dispatcher module 174. In some embodiments,application 136-1 includes application internal state 192, whichindicates the current application view(s) displayed on touch sensitivedisplay 112 when the application is active or executing. In someembodiments, device/global internal state 157 is used by event sorter170 to determine which application(s) is (are) currently active, andapplication internal state 192 is used by event sorter 170 to determineapplication views 191 to which to deliver event information.

In some embodiments, application internal state 192 includes additionalinformation, such as one or more of: resume information to be used whenapplication 136-1 resumes execution, user interface state informationthat indicates information being displayed or that is ready for displayby application 136-1, a state queue for enabling the user to go back toa prior state or view of application 136-1, and a redo/undo queue ofprevious actions taken by the user.

Event monitor 171 receives event information from peripherals interface118. Event information includes information about a sub-event (e.g., auser touch on touch-sensitive display 112, as part of a multi-touchgesture). Peripherals interface 118 transmits information it receivesfrom I/O subsystem 106 or a sensor, such as proximity sensor 166,accelerometer(s) 168, and/or microphone 113 (through audio circuitry110). Information that peripherals interface 118 receives from I/Osubsystem 106 includes information from touch-sensitive display 112 or atouch-sensitive surface.

In some embodiments, event monitor 171 sends requests to the peripheralsinterface 118 at predetermined intervals. In response, peripheralsinterface 118 transmits event information. In other embodiments,peripherals interface 118 transmits event information only when there isa significant event (e.g., receiving an input above a predeterminednoise threshold and/or for more than a predetermined duration).

In some embodiments, event sorter 170 also includes a hit viewdetermination module 172 and/or an active event recognizer determinationmodule 173.

Hit view determination module 172 provides software procedures fordetermining where a sub-event has taken place within one or more views,when touch sensitive display 112 displays more than one view. Views aremade up of controls and other elements that a user can see on thedisplay.

Another aspect of the user interface associated with an application is aset of views, sometimes herein called application views or userinterface windows, in which information is displayed and touch-basedgestures occur. The application views (of a respective application) inwhich a touch is detected may correspond to programmatic levels within aprogrammatic or view hierarchy of the application. For example, thelowest level view in which a touch is detected may be called the hitview, and the set of events that are recognized as proper inputs may bedetermined based, at least in part, on the hit view of the initial touchthat begins a touch-based gesture.

Hit view determination module 172 receives information related tosub-events of a touch-based gesture. When an application has multipleviews organized in a hierarchy, hit view determination module 172identifies a hit view as the lowest view in the hierarchy which shouldhandle the sub-event. In most circumstances, the hit view is the lowestlevel view in which an initiating sub-event occurs (e.g., the firstsub-event in the sequence of sub-events that form an event or potentialevent). Once the hit view is identified by the hit view determinationmodule 172, the hit view typically receives all sub-events related tothe same touch or input source for which it was identified as the hitview.

Active event recognizer determination module 173 determines which viewor views within a view hierarchy should receive a particular sequence ofsub-events. In some embodiments, active event recognizer determinationmodule 173 determines that only the hit view should receive a particularsequence of sub-events. In other embodiments, active event recognizerdetermination module 173 determines that all views that include thephysical location of a sub-event are actively involved views, andtherefore determines that all actively involved views should receive aparticular sequence of sub-events. In other embodiments, even if touchsub-events were entirely confined to the area associated with oneparticular view, views higher in the hierarchy would still remain asactively involved views.

Event dispatcher module 174 dispatches the event information to an eventrecognizer (e.g., event recognizer 180). In embodiments including activeevent recognizer determination module 173, event dispatcher module 174delivers the event information to an event recognizer determined byactive event recognizer determination module 173. In some embodiments,event dispatcher module 174 stores in an event queue the eventinformation, which is retrieved by a respective event receiver 182.

In some embodiments, operating system 126 includes event sorter 170.Alternatively, application 136-1 includes event sorter 170. In yet otherembodiments, event sorter 170 is a stand-alone module, or a part ofanother module stored in memory 102, such as contact/motion module 130.

In some embodiments, application 136-1 includes a plurality of eventhandlers 190 and one or more application views 191, each of whichincludes instructions for handling touch events that occur within arespective view of the application's user interface. Each applicationview 191 of the application 136-1 includes one or more event recognizers180. Typically, a respective application view 191 includes a pluralityof event recognizers 180. In other embodiments, one or more of eventrecognizers 180 are part of a separate module, such as a user interfacekit (not shown) or a higher level object from which application 136-1inherits methods and other properties. In some embodiments, a respectiveevent handler 190 includes one or more of: data updater 176, objectupdater 177, GUI updater 178, and/or event data 179 received from eventsorter 170. Event handler 190 may utilize or call data updater 176,object updater 177, or GUI updater 178 to update the applicationinternal state 192. Alternatively, one or more of the application views191 include one or more respective event handlers 190. Also, in someembodiments, one or more of data updater 176, object updater 177, andGUI updater 178 are included in a respective application view 191.

A respective event recognizer 180 receives event information (e.g.,event data 179) from event sorter 170 and identifies an event from theevent information. Event recognizer 180 includes event receiver 182 andevent comparator 184. In some embodiments, event recognizer 180 alsoincludes at least a subset of: metadata 183, and event deliveryinstructions 188 (which may include sub-event delivery instructions).

Event receiver 182 receives event information from event sorter 170. Theevent information includes information about a sub-event, for example, atouch or a touch movement. Depending on the sub-event, the eventinformation also includes additional information, such as location ofthe sub-event. When the sub-event concerns motion of a touch the eventinformation may also include speed and direction of the sub-event. Insome embodiments, events include rotation of the device from oneorientation to another (e.g., from a portrait orientation to a landscapeorientation, or vice versa), and the event information includescorresponding information about the current orientation (also calleddevice attitude) of the device.

Event comparator 184 compares the event information to predefined eventor sub-event definitions and, based on the comparison, determines anevent or sub-event, or determines or updates the state of an event orsub-event. In some embodiments, event comparator 184 includes eventdefinitions 186. Event definitions 186 contain definitions of events(e.g., predefined sequences of sub-events), for example, event 1(187-1), event 2 (187-2), and others. In some embodiments, sub-events inan event (187) include, for example, touch begin, touch end, touchmovement, touch cancellation, and multiple touching. In one example, thedefinition for event 1 (187-1) is a double tap on a displayed object.The double tap, for example, comprises a first touch (touch begin) onthe displayed object for a predetermined phase, a first liftoff (touchend) for a predetermined phase, a second touch (touch begin) on thedisplayed object for a predetermined phase, and a second liftoff (touchend) for a predetermined phase. In another example, the definition forevent 2 (187-2) is a dragging on a displayed object. The dragging, forexample, comprises a touch (or contact) on the displayed object for apredetermined phase, a movement of the touch across touch-sensitivedisplay 112, and liftoff of the touch (touch end). In some embodiments,the event also includes information for one or more associated eventhandlers 190.

In some embodiments, event definition 187 includes a definition of anevent for a respective user-interface object. In some embodiments, eventcomparator 184 performs a hit test to determine which user-interfaceobject is associated with a sub-event. For example, in an applicationview in which three user-interface objects are displayed ontouch-sensitive display 112, when a touch is detected on touch-sensitivedisplay 112, event comparator 184 performs a hit test to determine whichof the three user-interface objects is associated with the touch(sub-event). If each displayed object is associated with a respectiveevent handler 190, the event comparator uses the result of the hit testto determine which event handler 190 should be activated. For example,event comparator 184 selects an event handler associated with thesub-event and the object triggering the hit test.

In some embodiments, the definition for a respective event (187) alsoincludes delayed actions that delay delivery of the event informationuntil after it has been determined whether the sequence of sub-eventsdoes or does not correspond to the event recognizer's event type.

When a respective event recognizer 180 determines that the series ofsub-events do not match any of the events in event definitions 186, therespective event recognizer 180 enters an event impossible, eventfailed, or event ended state, after which it disregards subsequentsub-events of the touch-based gesture. In this situation, other eventrecognizers, if any, that remain active for the hit view continue totrack and process sub-events of an ongoing touch-based gesture.

In some embodiments, a respective event recognizer 180 includes metadata183 with configurable properties, flags, and/or lists that indicate howthe event delivery system should perform sub-event delivery to activelyinvolved event recognizers. In some embodiments, metadata 183 includesconfigurable properties, flags, and/or lists that indicate how eventrecognizers may interact, or are enabled to interact, with one another.In some embodiments, metadata 183 includes configurable properties,flags, and/or lists that indicate whether sub-events are delivered tovarying levels in the view or programmatic hierarchy.

In some embodiments, a respective event recognizer 180 activates eventhandler 190 associated with an event when one or more particularsub-events of an event are recognized. In some embodiments, a respectiveevent recognizer 180 delivers event information associated with theevent to event handler 190. Activating an event handler 190 is distinctfrom sending (and deferred sending) sub-events to a respective hit view.In some embodiments, event recognizer 180 throws a flag associated withthe recognized event, and event handler 190 associated with the flagcatches the flag and performs a predefined process.

In some embodiments, event delivery instructions 188 include sub-eventdelivery instructions that deliver event information about a sub-eventwithout activating an event handler. Instead, the sub-event deliveryinstructions deliver event information to event handlers associated withthe series of sub-events or to actively involved views. Event handlersassociated with the series of sub-events or with actively involved viewsreceive the event information and perform a predetermined process.

In some embodiments, data updater 176 creates and updates data used inapplication 136-1. For example, data updater 176 updates the telephonenumber used in contacts module 137, or stores a video file used in videoplayer module. In some embodiments, object updater 177 creates andupdates objects used in application 136-1. For example, object updater177 creates a new user-interface object or updates the position of auser-interface object. GUI updater 178 updates the GUI. For example, GUIupdater 178 prepares display information and sends it to graphics module132 for display on a touch-sensitive display.

In some embodiments, event handler(s) 190 includes or has access to dataupdater 176, object updater 177, and GUI updater 178. In someembodiments, data updater 176, object updater 177, and GUI updater 178are included in a single module of a respective application 136-1 orapplication view 191. In other embodiments, they are included in two ormore software modules.

It shall be understood that the foregoing discussion regarding eventhandling of user touches on touch-sensitive displays also applies toother forms of user inputs to operate multifunction devices 100 withinput-devices, not all of which are initiated on touch screens. Forexample, mouse movement and mouse button presses, optionally coordinatedwith single or multiple keyboard presses or holds; contact movementssuch as taps, drags, scrolls, etc., on touchpads; pen stylus inputs;movement of the device; oral instructions; detected eye movements;biometric inputs; and/or any combination thereof are optionally utilizedas inputs corresponding to sub-events which define an event to berecognized.

FIG. 2 illustrates a portable multifunction device 100 having a touchscreen 112 in accordance with some embodiments. The touch screenoptionally displays one or more graphics within user interface (UI) 200.In this embodiment, as well as others described below, a user is enabledto select one or more of the graphics by making a gesture on thegraphics, for example, with one or more fingers 202 (not drawn to scalein the figure) or one or more styluses 203 (not drawn to scale in thefigure). In some embodiments, selection of one or more graphics occurswhen the user breaks contact with the one or more graphics. In someembodiments, the gesture optionally includes one or more taps, one ormore swipes (from left to right, right to left, upward and/or downward)and/or a rolling of a finger (from right to left, left to right, upwardand/or downward) that has made contact with device 100. In someimplementations or circumstances, inadvertent contact with a graphicdoes not select the graphic. For example, a swipe gesture that sweepsover an application icon optionally does not select the correspondingapplication when the gesture corresponding to selection is a tap.

Device 100 may also include one or more physical buttons, such as “home”or menu button 204. As described previously, menu button 204 may be usedto navigate to any application 136 in a set of applications that may beexecuted on device 100. Alternatively, in some embodiments, the menubutton is implemented as a soft key in a GUI displayed on touch screen112.

In one embodiment, device 100 includes touch screen 112, menu button204, push button 206 for powering the device on/off and locking thedevice, volume adjustment button(s) 208, subscriber identity module(SIM) card slot 210, headset jack 212, and docking/charging externalport 124. Push button 206 is, optionally, used to turn the power on/offon the device by depressing the button and holding the button in thedepressed state for a predefined time interval; to lock the device bydepressing the button and releasing the button before the predefinedtime interval has elapsed; and/or to unlock the device or initiate anunlock process. In an alternative embodiment, device 100 also acceptsverbal input for activation or deactivation of some functions throughmicrophone 113. Device 100 also, optionally, includes one or morecontact intensity sensors 165 for detecting intensity of contacts ontouch screen 112 and/or one or more tactile output generators 167 forgenerating tactile outputs for a user of device 100.

FIG. 3 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments. Device 300 need not be portable. In some embodiments,device 300 is a laptop computer, a desktop computer, a tablet computer,a multimedia player device, a navigation device, an educational device(such as a child's learning toy), a gaming system, or a control device(e.g., a home or industrial controller). Device 300 typically includesone or more processing units (CPUs) 310, one or more network or othercommunications interfaces 360, memory 370, and one or more communicationbuses 320 for interconnecting these components. Communication buses 320optionally include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components.Device 300 includes input/output (I/O) interface 330 comprising display340, which is typically a touch screen display. I/O interface 330 alsooptionally includes a keyboard and/or mouse (or other pointing device)350 and touchpad 355, tactile output generator 357 for generatingtactile outputs on device 300 (e.g., similar to tactile outputgenerator(s) 167 described above with reference to FIG. 1A), sensors 359(e.g., optical, acceleration, proximity, touch-sensitive, and/or contactintensity sensors similar to contact intensity sensor(s) 165 describedabove with reference to FIG. 1A). Memory 370 includes high-speed randomaccess memory, such as DRAM, SRAM, DDR RAM, or other random access solidstate memory devices; and optionally includes non-volatile memory, suchas one or more magnetic disk storage devices, optical disk storagedevices, flash memory devices, or other non-volatile solid state storagedevices. Memory 370 optionally includes one or more storage devicesremotely located from CPU(s) 310. In some embodiments, memory 370 storesprograms, modules, and data structures analogous to the programs,modules, and data structures stored in memory 102 of portablemultifunction device 100 (FIG. 1A), or a subset thereof. Furthermore,memory 370 optionally stores additional programs, modules, and datastructures not present in memory 102 of portable multifunction device100. For example, memory 370 of device 300 optionally stores drawingmodule 380, presentation module 382, word processing module 384, websitecreation module 386, disk authoring module 388, and/or spreadsheetmodule 390, while memory 102 of portable multifunction device 100 (FIG.1A) optionally does not store these modules.

Each of the above-identified elements in FIG. 3 may be stored in one ormore of the previously mentioned memory devices. Each of theabove-identified modules corresponds to a set of instructions forperforming a function described above. The above-identified modules orprograms (e.g., sets of instructions) need not be implemented asseparate software programs, procedures, or modules, and thus varioussubsets of these modules may be combined or otherwise rearranged invarious embodiments. In some embodiments, memory 370 may store a subsetof the modules and data structures identified above. Furthermore, memory370 may store additional modules and data structures not describedabove.

Attention is now directed towards embodiments of user interfaces thatmay be implemented on, for example, portable multifunction device 100.

FIG. 4A illustrates an exemplary user interface for a menu ofapplications on portable multifunction device 100 in accordance withsome embodiments. Similar user interfaces may be implemented on device300. In some embodiments, user interface 400 includes the followingelements, or a subset or superset thereof:

-   -   Signal strength indicator(s) 402 for wireless communication(s),        such as cellular and Wi-Fi signals;    -   Time 404;    -   Bluetooth indicator 405;    -   Battery status indicator 406;    -   Tray 408 with icons for frequently used applications, such as:        -   Icon 416 for telephone module 138, labeled “Phone,” which            optionally includes an indicator 414 of the number of missed            calls or voicemail messages;        -   Icon 418 for e-mail client module 140, labeled “Mail,” which            optionally includes an indicator 410 of the number of unread            e-mails;        -   Icon 420 for browser module 147, labeled “Browser;” and        -   Icon 422 for video and music player module 152, also            referred to as iPod (trademark of Apple Inc.) module 152,            labeled “iPod;” and    -   Icons for other applications, such as:        -   Icon 424 for IM module 141, labeled “Messages;”        -   Icon 426 for calendar module 148, labeled “Calendar;”        -   Icon 428 for image management module 144, labeled “Photos;”        -   Icon 430 for camera module 143, labeled “Camera;”        -   Icon 432 for online video module 155, labeled “Online Video”        -   Icon 434 for stocks widget 149-2, labeled “Stocks;”        -   Icon 436 for map module 154, labeled “Maps;”        -   Icon 438 for weather widget 149-1, labeled “Weather;”        -   Icon 440 for alarm clock widget 149-4, labeled “Clock;”        -   Icon 442 for workout support module 142, labeled “Workout            Support;”        -   Icon 444 for notes module 153, labeled “Notes;” and        -   Icon 446 for a settings application or module, labeled            “Settings,” which provides access to settings for device 100            and its various applications 136.

It should be noted that the icon labels illustrated in FIG. 4A aremerely exemplary. For example, icon 422 for video and music playermodule 152 may optionally be labeled “Music” or “Music Player.” Otherlabels are, optionally, used for various application icons. In someembodiments, a label for a respective application icon includes a nameof an application corresponding to the respective application icon. Insome embodiments, a label for a particular application icon is distinctfrom a name of an application corresponding to the particularapplication icon.

FIG. 4B illustrates an exemplary user interface on a device (e.g.,device 300, FIG. 3) with a touch-sensitive surface 451 (e.g., a tabletor touchpad 355, FIG. 3) that is separate from the display 450 (e.g.,touch screen display 112). Device 300 also, optionally, includes one ormore contact intensity sensors (e.g., one or more of sensors 357) fordetecting intensity of contacts on touch-sensitive surface 451 and/orone or more tactile output generators 359 for generating tactile outputsfor a user of device 300.

Although some of the examples which follow will be given with referenceto inputs on touch screen display 112 (where the touch sensitive surfaceand the display are combined), in some embodiments, the device detectsinputs on a touch-sensitive surface that is separate from the display,as shown in FIG. 4B. In some embodiments the touch sensitive surface(e.g., 451 in FIG. 4B) has a primary axis (e.g., 452 in FIG. 4B) thatcorresponds to a primary axis (e.g., 453 in FIG. 4B) on the display(e.g., 450). In accordance with these embodiments, the device detectscontacts (e.g., 460 and 462 in FIG. 4B) with the touch-sensitive surface451 at locations that correspond to respective locations on the display(e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470).In this way, user inputs (e.g., contacts 460 and 462, and movementsthereof) detected by the device on the touch-sensitive surface (e.g.,451 in FIG. 4B) are used by the device to manipulate the user interfaceon the display (e.g., 450 in FIG. 4B) of the multifunction device whenthe touch-sensitive surface is separate from the display. It should beunderstood that similar methods are, optionally, used for other userinterfaces described herein.

Additionally, while the following examples are given primarily withreference to finger inputs (e.g., finger contacts, finger tap gestures,finger swipe gestures), it should be understood that, in someembodiments, one or more of the finger inputs are replaced with inputfrom another input device (e.g., a mouse based input or stylus input).For example, a swipe gesture is, optionally, replaced with a mouse click(e.g., instead of a contact) followed by movement of the cursor alongthe path of the swipe (e.g., instead of movement of the contact). Asanother example, a tap gesture is, optionally, replaced with a mouseclick while the cursor is located over the location of the tap gesture(e.g., instead of detection of the contact followed by ceasing to detectthe contact). Similarly, when multiple user inputs are simultaneouslydetected, it should be understood that multiple computer mice are,optionally, used simultaneously, or a mouse and finger contacts are,optionally, used simultaneously.

FIG. 5A illustrates exemplary personal electronic device 500. Device 500includes body 502. In some embodiments, device 500 can include some orall of the features described with respect to devices 100 and 300 (e.g.,FIGS. 1A-4B). In some embodiments, device 500 has touch-sensitivedisplay screen 504, hereafter touch screen 504. Alternatively, or inaddition to touch screen 504, device 500 has a display and atouch-sensitive surface. As with devices 100 and 300, in someembodiments, touch screen 504 (or the touch-sensitive surface) may haveone or more intensity sensors for detecting intensity of contacts (e.g.,touches) being applied. The one or more intensity sensors of touchscreen 504 (or the touch-sensitive surface) can provide output data thatrepresents the intensity of touches. The user interface of device 500can respond to touches based on their intensity, meaning that touches ofdifferent intensities can invoke different user interface operations ondevice 500.

Techniques for detecting and processing touch intensity may be found,for example, in related applications: International Patent ApplicationSerial No. PCT/US2013/040061, titled “Device, Method, and Graphical UserInterface for Displaying User Interface Objects Corresponding to anApplication,” filed May 8, 2013, published as WIPO Publication No.WO/2013/169849, and International Patent Application Serial No.PCT/US2013/069483, titled “Device, Method, and Graphical User Interfacefor Transitioning Between Touch Input to Display Output Relationships,”filed Nov. 11, 2013, published as WIPO Publication No. WO/2014/105276,each of which is hereby incorporated by reference in their entirety.

In some embodiments, device 500 has one or more input mechanisms 506 and508. Input mechanisms 506 and 508, if included, can be physical.Examples of physical input mechanisms include push buttons and rotatablemechanisms. In some embodiments, device 500 has one or more attachmentmechanisms. Such attachment mechanisms, if included, can permitattachment of device 500 with, for example, hats, eyewear, earrings,necklaces, shirts, jackets, bracelets, watch straps, chains, trousers,belts, shoes, purses, backpacks, and so forth. These attachmentmechanisms may permit device 500 to be worn by a user.

FIG. 5B depicts exemplary personal electronic device 500. In someembodiments, device 500 can include some or all of the componentsdescribed with respect to FIGS. 1A, 1B, and 3. Device 500 has bus 512that operatively couples I/O section 514 with one or more computerprocessors 516 and memory 518. I/O section 514 can be connected todisplay 504, which can have touch-sensitive component 522 and,optionally, intensity sensor 524 (e.g., contact intensity sensor). Inaddition, I/O section 514 can be connected with communication unit 530for receiving application and operating system data, using Wi-Fi,Bluetooth, near field communication (NFC), cellular and/or otherwireless communication techniques. Device 500 can include inputmechanisms 506 and/or 508. Input mechanism 506 may be a rotatable inputdevice or a depressible and rotatable input device, for example. Inputmechanism 508 may be a button, in some examples.

Input mechanism 508 may be a microphone, in some examples. Personalelectronic device 500 can include various sensors, such as GPS sensor532, accelerometer 534, directional sensor 540 (e.g., compass),gyroscope 536, motion sensor 538, and/or a combination thereof, all ofwhich can be operatively connected to I/O section 514.

Memory 518 of personal electronic device 500 can be a non-transitorycomputer readable storage medium, for storing computer-executableinstructions, which, when executed by one or more computer processors516, for example, can cause the computer processors to perform thetechniques described above, including processes 1400-2000 and 3000(FIGS. 14-20 and 30). The computer-executable instructions can also bestored and/or transported within any non-transitory computer readablestorage medium for use by or in connection with an instruction executionsystem, apparatus, or device, such as a computer-based system,processor-containing system, or other system that can fetch theinstructions from the instruction execution system, apparatus, or deviceand execute the instructions. For purposes of this document, a“non-transitory computer readable storage medium” can be any medium thatcan tangibly contain or store computer-executable instructions for useby or in connection with the instruction execution system, apparatus, ordevice. The non-transitory computer readable storage medium can include,but is not limited to, magnetic, optical, and/or semiconductor storages.Examples of such storage include magnetic disks, optical discs based onCD, DVD, or Blu-ray technologies, as well as persistent solid-statememory such as flash, solid-state drives, and the like. Personalelectronic device 500 is not limited to the components and configurationof FIG. 5B, but can include other or additional components in multipleconfigurations.

As used here, the term “affordance” refers to a user-interactivegraphical user interface object that may be displayed on the displayscreen of devices 100, 300, and/or 500 (FIGS. 1, 3, and 5). For example,an image (e.g., icon), a button, and text (e.g., hyperlink) may eachconstitute an affordance.

As used herein, the term “focus selector” refers to an input elementthat indicates a current part of a user interface with which a user isinteracting. In some implementations that include a cursor or otherlocation marker, the cursor acts as a “focus selector” so that when aninput (e.g., a press input) is detected on a touch-sensitive surface(e.g., touchpad 355 in FIG. 3 or touch-sensitive surface 451 in FIG. 4B)while the cursor is over a particular user interface element (e.g., abutton, window, slider or other user interface element), the particularuser interface element is adjusted in accordance with the detectedinput. In some implementations that include a touch-screen display(e.g., touch-sensitive display system 112 in FIG. 1A or touch screen 112in FIG. 4A) that enables direct interaction with user interface elementson the touch-screen display, a detected contact on the touch-screen actsas a “focus selector” so that when an input (e.g., a press input by thecontact) is detected on the touch-screen display at a location of aparticular user interface element (e.g., a button, window, slider orother user interface element), the particular user interface element isadjusted in accordance with the detected input. In some implementationsfocus is moved from one region of a user interface to another region ofthe user interface without corresponding movement of a cursor ormovement of a contact on a touch-screen display (e.g., by using a tabkey or arrow keys to move focus from one button to another button); inthese implementations, the focus selector moves in accordance withmovement of focus between different regions of the user interface.Without regard to the specific form taken by the focus selector, thefocus selector is generally the user interface element (or contact on atouch-screen display) that is controlled by the user so as tocommunicate the user's intended interaction with the user interface(e.g., by indicating, to the device, the element of the user interfacewith which the user is intending to interact). For example, the locationof a focus selector (e.g., a cursor, a contact or a selection box) overa respective button while a press input is detected on thetouch-sensitive surface (e.g., a touchpad or touch screen) will indicatethat the user is intending to activate the respective button (as opposedto other user interface elements shown on a display of the device).

As used in the specification and claims, the term “characteristicintensity” of a contact refers to a characteristic of the contact basedon one or more intensities of the contact. In some embodiments, thecharacteristic intensity is based on multiple intensity samples. Thecharacteristic intensity is, optionally, based on a predefined number ofintensity samples, or a set of intensity samples collected during apredetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10seconds) relative to a predefined event (e.g., after detecting thecontact, prior to detecting liftoff of the contact, before or afterdetecting a start of movement of the contact, prior to detecting an endof the contact, before or after detecting an increase in intensity ofthe contact, and/or before or after detecting a decrease in intensity ofthe contact). A characteristic intensity of a contact is, optionallybased on one or more of: a maximum value of the intensities of thecontact, a mean value of the intensities of the contact, an averagevalue of the intensities of the contact, a top 10 percentile value ofthe intensities of the contact, a value at the half maximum of theintensities of the contact, a value at the 90 percent maximum of theintensities of the contact, or the like. In some embodiments, theduration of the contact is used in determining the characteristicintensity (e.g., when the characteristic intensity is an average of theintensity of the contact over time). In some embodiments, thecharacteristic intensity is compared to a set of one or more intensitythresholds to determine whether an operation has been performed by auser. For example, the set of one or more intensity thresholds mayinclude a first intensity threshold and a second intensity threshold. Inthis example, a contact with a characteristic intensity that does notexceed the first threshold results in a first operation, a contact witha characteristic intensity that exceeds the first intensity thresholdand does not exceed the second intensity threshold results in a secondoperation, and a contact with a characteristic intensity that exceedsthe second threshold results in a third operation. In some embodiments,a comparison between the characteristic intensity and one or morethresholds is used to determine whether or not to perform one or moreoperations (e.g., whether to perform a respective operation or forgoperforming the respective operation) rather than being used to determinewhether to perform a first operation or a second operation.

FIG. 5C illustrates detecting a plurality of contacts 552A-552E ontouch-sensitive display screen 504 with a plurality of intensity sensors524A-524D. FIG. 5C additionally includes intensity diagrams that showthe current intensity measurements of the intensity sensors 524A-524Drelative to units of intensity. In this example, the intensitymeasurements of intensity sensors 524A and 524D are each 9 units ofintensity, and the intensity measurements of intensity sensors 524B and524C are each 7 units of intensity. In some implementations, anaggregate intensity is the sum of the intensity measurements of theplurality of intensity sensors 524A-524D, which in this example is 32intensity units. In some embodiments, each contact is assigned arespective intensity that is a portion of the aggregate intensity. FIG.5D illustrates assigning the aggregate intensity to contacts 552A-552Ebased on their distance from the center of force 554. In this example,each of contacts 552A, 552B and 552E are assigned an intensity ofcontact of 8 intensity units of the aggregate intensity, and each ofcontacts 552C and 552D are assigned an intensity of contact of 4intensity units of the aggregate intensity. More generally, in someimplementations, each contact j is assigned a respective intensity Ijthat is a portion of the aggregate intensity, A, in accordance with apredefined mathematical function, Ij=A·(Dj/ΣDi), where Dj is thedistance of the respective contact j to the center of force, and ΣDi isthe sum of the distances of all the respective contacts (e.g., i=1 tolast) to the center of force. The operations described with reference toFIGS. 5C-5D can be performed using an electronic device similar oridentical to device 100, 300, or 500. In some embodiments, acharacteristic intensity of a contact is based on one or moreintensities of the contact. In some embodiments, the intensity sensorsare used to determine a single characteristic intensity (e.g., a singlecharacteristic intensity of a single contact). It should be noted thatthe intensity diagrams are not part of a displayed user interface, butare included in FIGS. 5C-5D to aid the reader.

In some embodiments, a portion of a gesture is identified for purposesof determining a characteristic intensity. For example, atouch-sensitive surface may receive a continuous swipe contacttransitioning from a start location and reaching an end location, atwhich point the intensity of the contact increases. In this example, thecharacteristic intensity of the contact at the end location may be basedon only a portion of the continuous swipe contact, and not the entireswipe contact (e.g., only the portion of the swipe contact at the endlocation). In some embodiments, a smoothing algorithm may be applied tothe intensities of the swipe contact prior to determining thecharacteristic intensity of the contact. For example, the smoothingalgorithm optionally includes one or more of: an unweightedsliding-average smoothing algorithm, a triangular smoothing algorithm, amedian filter smoothing algorithm, and/or an exponential smoothingalgorithm. In some circumstances, these smoothing algorithms eliminatenarrow spikes or dips in the intensities of the swipe contact forpurposes of determining a characteristic intensity.

The intensity of a contact on the touch-sensitive surface may becharacterized relative to one or more intensity thresholds, such as acontact detection intensity threshold, a light press intensitythreshold, a deep press intensity threshold, and/or one or more otherintensity thresholds. In some embodiments, the light press intensitythreshold corresponds to an intensity at which the device will performoperations typically associated with clicking a button of a physicalmouse or a trackpad. In some embodiments, the deep press intensitythreshold corresponds to an intensity at which the device will performoperations that are different from operations typically associated withclicking a button of a physical mouse or a trackpad. In someembodiments, when a contact is detected with a characteristic intensitybelow the light press intensity threshold (e.g., and above a nominalcontact-detection intensity threshold below which the contact is nolonger detected), the device will move a focus selector in accordancewith movement of the contact on the touch-sensitive surface withoutperforming an operation associated with the light press intensitythreshold or the deep press intensity threshold. Generally, unlessotherwise stated, these intensity thresholds are consistent betweendifferent sets of user interface figures.

An increase of characteristic intensity of the contact from an intensitybelow the light press intensity threshold to an intensity between thelight press intensity threshold and the deep press intensity thresholdis sometimes referred to as a “light press” input. An increase ofcharacteristic intensity of the contact from an intensity below the deeppress intensity threshold to an intensity above the deep press intensitythreshold is sometimes referred to as a “deep press” input. An increaseof characteristic intensity of the contact from an intensity below thecontact-detection intensity threshold to an intensity between thecontact-detection intensity threshold and the light press intensitythreshold is sometimes referred to as detecting the contact on thetouch-surface. A decrease of characteristic intensity of the contactfrom an intensity above the contact-detection intensity threshold to anintensity below the contact-detection intensity threshold is sometimesreferred to as detecting liftoff of the contact from the touch-surface.In some embodiments, the contact-detection intensity threshold is zero.In some embodiments, the contact-detection intensity threshold isgreater than zero.

In some embodiments described herein, one or more operations areperformed in response to detecting a gesture that includes a respectivepress input or in response to detecting the respective press inputperformed with a respective contact (or a plurality of contacts), wherethe respective press input is detected based at least in part ondetecting an increase in intensity of the contact (or plurality ofcontacts) above a press-input intensity threshold. In some embodiments,the respective operation is performed in response to detecting theincrease in intensity of the respective contact above the press-inputintensity threshold (e.g., a “down stroke” of the respective pressinput). In some embodiments, the press input includes an increase inintensity of the respective contact above the press-input intensitythreshold and a subsequent decrease in intensity of the contact belowthe press-input intensity threshold, and the respective operation isperformed in response to detecting the subsequent decrease in intensityof the respective contact below the press-input threshold (e.g., an “upstroke” of the respective press input).

FIGS. 5E-5H illustrate detection of a gesture that includes a pressinput that corresponds to an increase in intensity of a contact 562 froman intensity below a light press intensity threshold (e.g., “IT_(L)”) inFIG. 5E, to an intensity above a deep press intensity threshold (e.g.,“IT_(D)”) in FIG. 5H. The gesture performed with contact 562 is detectedon touch-sensitive surface 560 while cursor 576 is displayed overapplication icon 572B corresponding to App 2, on a displayed userinterface 570 that includes application icons 572A-572D displayed inpredefined region 574. In some embodiments, the gesture is detected ontouch-sensitive display 504. The intensity sensors detect the intensityof contacts on touch-sensitive surface 560. The device determines thatthe intensity of contact 562 peaked above the deep press intensitythreshold (e.g., “IT_(D)”). Contact 562 is maintained on touch-sensitivesurface 560. In response to the detection of the gesture, and inaccordance with contact 562 having an intensity that goes above the deeppress intensity threshold (e.g., “IT_(D)”) during the gesture,reduced-scale representations 578A-578C (e.g., thumbnails) of recentlyopened documents for App 2 are displayed, as shown in FIGS. 5F-5H. Insome embodiments, the intensity, which is compared to the one or moreintensity thresholds, is the characteristic intensity of a contact. Itshould be noted that the intensity diagram for contact 562 is not partof a displayed user interface, but is included in FIGS. 5E-5H to aid thereader.

In some embodiments, the display of representations 578A-578C includesan animation. For example, representation 578A is initially displayed inproximity of application icon 572B, as shown in FIG. 5F. As theanimation proceeds, representation 578A moves upward and representation578B is displayed in proximity of application icon 572B, as shown inFIG. 5G. Then representations 578A moves upward, 578B moves upwardtoward representation 578A, and representation 578C is displayed inproximity of application icon 572B, as shown in FIG. 5H. Representations578A-578C form an array above icon 572B. In some embodiments, theanimation progresses in accordance with an intensity of contact 562, asshown in FIGS. 5F-5G, where the representations 578A-578C appear andmove upwards as the intensity of contact 562 increases toward the deeppress intensity threshold (e.g., “IT_(D)”). In some embodiments theintensity, on which the progress of the animation is based, is thecharacteristic intensity of the contact. The operations described withreference to FIGS. 5E-5H can be performed using an electronic devicesimilar or identical to device 100, 300, or 500.

In some embodiments, the device employs intensity hysteresis to avoidaccidental inputs sometimes termed “jitter,” where the device defines orselects a hysteresis intensity threshold with a predefined relationshipto the press-input intensity threshold (e.g., the hysteresis intensitythreshold is X intensity units lower than the press-input intensitythreshold or the hysteresis intensity threshold is 75%, 90% or somereasonable proportion of the press-input intensity threshold). Thus, insome embodiments, the press input includes an increase in intensity ofthe respective contact above the press-input intensity threshold and asubsequent decrease in intensity of the contact below the hysteresisintensity threshold that corresponds to the press-input intensitythreshold, and the respective operation is performed in response todetecting the subsequent decrease in intensity of the respective contactbelow the hysteresis intensity threshold (e.g., an “up stroke” of therespective press input). Similarly, in some embodiments, the press inputis detected only when the device detects an increase in intensity of thecontact from an intensity at or below the hysteresis intensity thresholdto an intensity at or above the press-input intensity threshold and,optionally, a subsequent decrease in intensity of the contact to anintensity at or below the hysteresis intensity, and the respectiveoperation is performed in response to detecting the press input (e.g.,the increase in intensity of the contact or the decrease in intensity ofthe contact, depending on the circumstances).

For ease of explanation, the descriptions of operations performed inresponse to a press input associated with a press-input intensitythreshold or in response to a gesture including the press input are,optionally, triggered in response to detecting either: an increase inintensity of a contact above the press-input intensity threshold, anincrease in intensity of a contact from an intensity below thehysteresis intensity threshold to an intensity above the press-inputintensity threshold, a decrease in intensity of the contact below thepress-input intensity threshold, and/or a decrease in intensity of thecontact below the hysteresis intensity threshold corresponding to thepress-input intensity threshold. Additionally, in examples where anoperation is described as being performed in response to detecting adecrease in intensity of a contact below the press-input intensitythreshold, the operation is, optionally, performed in response todetecting a decrease in intensity of the contact below a hysteresisintensity threshold corresponding to, and lower than, the press-inputintensity threshold.

As used herein, an “installed application” refers to a softwareapplication that has been downloaded onto an electronic device (e.g.,devices 100, 300, and/or 500) and is ready to be launched (e.g., becomeopened) on the device. In some embodiments, a downloaded applicationbecomes an installed application by way of an installation program thatextracts program portions from a downloaded package and integrates theextracted portions with the operating system of the computer system.

As used herein, the term “open application” or “executing application”refers to a software application with retained state information (e.g.,as part of device/global internal state 157 and/or application internalstate 192). An open or executing application may be any one of thefollowing types of applications:

-   -   an active application, which is currently displayed on a display        screen of the device that the application is being used on;    -   a background application (or background processes) which is not        currently displayed, but one or more processes for the        application are being processed by one or more processors; and    -   a suspended or hibernated application, which is not running, but        has state information that is stored in memory (volatile and        non-volatile, respectively) and that can be used to resume        execution of the application.

As used herein, the term “closed application” refers to softwareapplications without retained state information (e.g., state informationfor closed applications is not stored in a memory of the device).Accordingly, closing an application includes stopping and/or removingapplication processes for the application and removing state informationfor the application from the memory of the device. Generally, opening asecond application while in a first application does not close the firstapplication. When the second application is displayed and the firstapplication ceases to be displayed, the first application becomes abackground application.

As used herein, the term “closed application” refers to a softwareapplication without retained state information (e.g., state informationfor closed applications is not stored in a memory of the device).Accordingly, closing an application includes stopping and/or removingapplication processes for the application and removing state informationfor the application from the memory of the device. Generally, opening asecond application while in a first application does not close the firstapplication. When the second application is displayed and the firstapplication ceases to be displayed, the first application becomes abackground application.

Attention is now directed towards embodiments of user interfaces (“UI”)and associated processes that may be implemented on a multifunctiondevice with a display and a touch-sensitive surface, such as devices100, 300, and/or 500 (FIGS. 1A, 3A, and/or 5A), to provide weatherinformation to a user on a reduced-size device.

1. Weather User Interfaces

The user interfaces for providing weather information (also referred toas “weather user interfaces”) described below are illustrated byexemplary sequences of screens that one or more of devices 100, 300,and/or 500 can display in response to detecting various user inputs. Inthese sequences, the arrows indicate the order in which the screens aredisplayed, and the text shown above the arrows indicates exemplaryinputs detected by the device. The device may respond similarly todifferent inputs; not all possible inputs that can result in thedepicted sequence of screens are shown.

FIG. 6 shows exemplary user interface screen 602 that device 600 candisplay on touchscreen 604. Device 600 may be multifunction device 500in some embodiments. Screen 602 can be, for example, a home screen thatappears when the display of device 600 is powered on, or that appears inresponse to user input on device 600. Screen 602 displays affordancesthat may be used to launch software applications installed on device600.

As used here, the term “affordance” refers to a user-interactivegraphical user interface object that may be displayed on the displayscreen of device 100, 300, and/or 500 (FIGS. 1, 3, and 5A). For example,an image (e.g., icon), a button, and text may each constitute anaffordance.

Affordance 606 may correspond to a weather application in that theweather application may launch in response to a user's selection ofaffordance 606. A weather application provides weather information.Weather information may include weather conditions such as, for example,temperature, precipitation, sunshine, cloud cover, wind (includingdirection and/or speed), barometric pressure, humidity, hazardous orinclement weather conditions, combinations thereof, and so forth.

As described in more detail below, weather information may reflectcurrent weather conditions, forecasted weather conditions, or historicalweather conditions. Weather information may reflect weather conditionsat a current location of the device, or a different location. A locationdifferent from the current location may be a user- or system-designatedlocation. A user-designated location is identified by a user. Asystem-designated location is identified by the system. A device maydetermine its current location using a GPS sensor and/or a WiFi locationsensor.

To access weather information, device 600 may retrieve weatherinformation from an external server. In some embodiments, device 600 mayretrieve weather information from a weather service, such as The WeatherChannel, Accuweather, The National Weather Service, Yahoo!™ Weather,Weather Underground, and the like.

A user may select (e.g., make touch contact) with affordance 606 tolaunch the weather application. In response to a user's selection of theaffordance device 600 may launch the weather application and display auser interface screen conveying weather information for a time andlocation of interest.

Attention is now directed to how weather information may be displayed invarious embodiments with reference to FIG. 6. In some embodiments,device 600 may display at least a portion of user interface screen 610that includes indications of a first location and a temperature at thefirst location. “Indications” may include text, symbols, images, and/orcombinations thereof that convey information, particularly weatherinformation for a geographic location and/or a specific time. In someembodiments, the specific time may be the current time. In someembodiments, temperature may indicate the actual atmospherictemperature. In some embodiments, temperature may indicate an apparenttemperature, such as a perceived temperature based on the atmospherictemperature, humidity, wind, cloud cover, and so forth.

User interface screen 610 may be too large to be displayed completelyon-screen at one time. When a first portion of user interface screen 610is displayed, user may rotate rotatable input mechanism 612 in aparticular direction (e.g., rotation 614) to scroll the displayedportion of user interface screen 610 to display the second portion.

In some embodiments, scrolling the first user interface screen mayinclude translating the first user interface screen on-screen. In someembodiments, the extent of rotation may be proportional to the amount ofscrolling of the display (e.g., on-screen translation). In thisscenario, a smaller rotation may scroll the displayed portion of theuser interface screen less than a larger rotation. Relating the extentof rotation of the rotatable input mechanism 612 allows the user toprecisely control which content(s) of the user interface screen are tobe viewed.

While the first portion of user interface screen 610 is displayed, auser may swipe the touchscreen to display at least a portion of a userinterface screen 620 that includes indications of a second location anda temperature at the second location. In some embodiments, the swipe maybe a horizontal finger swipe, e.g., swipe 622, which causes device 600to display indications of a third location and a temperature at thethird location on screen 630. In this way, device 600 user navigationbetween weather information corresponding to different locations. Inaddition, a user may rotate rotatable input mechanism 612 in aparticular direction (e.g., rotation 614) to scroll the displayedportion of user interface screen 620 to display a second portion.

Advantageously, allowing the user to navigate the application inmultiple ways through different inputs, such as rotating the rotatableinput mechanism and swiping the touch-sensitive display, increases thenumber of potential user interactions with the device and sustains theman-machine interaction. This is particularly important for a devicewith a reduced-size user interface. Since a reduced size decreases thesize of the user interface, rather than relying solely on the usertouching displayed user interface objects, these embodiments allow forinformation-dense and interactive applications by increasing thecombinations of possible user interactions. In addition, incrementaltouch movements such as scrolling may be difficult on smaller device,particularly for larger fingers that may block much of the screen. Arotatable input mechanism solves this problem by allowing incrementalmovements without relying on user touches, thus enhancing theman-machine interface.

In some embodiments, the second part of user interface screen 610 or 620may include a forecasted temperature for the indicated location. Aforecasted temperature may include, for example, the temperatureforecasted for the next hour, the next day, or a weekly forecast.

In some embodiments, the first location indicated on user interfacescreen 610 is the current location of device 600. In some embodiments,the second location indicated by user interface screen 620 is distinctfrom the current location of device 600. In this scenario, the secondlocation may be user-designated, for example a location of interestdesignated by the user, or the second location may be system-designated,for example a major world city (e.g., New York, London, or Tokyo).

In some embodiments, while the second part of user interface screen 610or 620 is displayed, a user may rotate the rotatable input mechanism 612in a direction opposite the particular direction to scroll the displayedportion of user interface screen 610 or 620 to display the firstportion. For example, a rotation of the rotatable input mechanism 612 ina clockwise direction may scroll the user interface screen 610 or 620 tomove the displayed part from the first portion to the second portion,and a rotation of the rotatable input mechanism 612 in acounterclockwise direction may scroll the user interface screen 610 or620 to move the displayed part from the second portion to the firstportion, or vice versa.

In some embodiments, device 600 conveys the weather condition at a timeand location of interest using images. Exemplary images may includeaffordances, animations, and icons. The images may be realistic, such asa photograph-quality representation, or may be stylized, such as acartoon, icon, or other symbolic representation. The images may depict aweather condition using, for example, a sun, moon, stars, cloud, raindrop, snowflake, hail, lightning bolt, wavy or curved lines (indicatingwind or breeze), and so forth. The images may depict a weather conditionusing an item associated with the weather condition, such as anumbrella, coat, boots, protective eyewear, sunglasses, mittens orgloves, scarf, and so forth. Any of these visual representations mayfurther involve an on-screen animation.

In some embodiments, device 600 conveys the precipitation at a time andlocation of interest using images. The image may indicate the specifictype of precipitation in a current weather condition, or it maygenerically represent any form of inclement weather. For example, theimages may depict a type of precipitation, such as a rain drop,snowflake, hail, lightning bolt, and so forth. The images may depict anobject typically used to cope with inclement weather, such as anumbrella, a coat, boots, protective eyewear, mittens or gloves, scarf,and so forth.

In some embodiments, device 600 may display the image indicative ofweather information as a wallpaper. As used here, consistent with itsaccepted meaning in the art, the phrase “wallpaper” refers to thebackground of a user interface screen that is visually distinguishablefrom text and user interface objects also displayed in the userinterface screen. For example, user interface screen 610 and/or 620 mayinclude a wallpaper that visually indicates weather conditions inaddition to the corresponding location and temperature. Current weathermay include current weather conditions, such as precipitation, sunshine,cloud cover, wind, and so forth. Wallpaper may represent current weathergraphically, for example through use of stylized or realistic renderingsof a weather condition (e.g., a cloud icon or a realistic rendering of acloud). In some embodiments, wallpaper may include a realisticrepresentation, such as with a photograph, of a scene depicting similarweather to the indicated current weather.

Advantageously, the use of imagery as indications of weather conditionsallows device 600 to display weather information to a user in clear andcomprehensible manner, thereby improving the efficiency of theman-machine interface on a reduced-size device. Providing weatherinformation graphically through imagery also affords the opportunity tocombine graphical and textual elements to provide weather information asefficiently as possible. For example, user interface screen 610 and/or620 could, in some embodiments, depict current weather conditions usinga wallpaper and depict the corresponding location and temperaturethrough text overlaid on the wallpaper, thereby preserving space on thedisplay for text to indicate, for example, location and temperature,while the weather condition is communicated through imagery (e.g., abackground wallpaper).

In some embodiments, user interface screen 610 and/or 620 may include anaffordance indicating the currently displayed user interface screen anda position of the displayed user interface screen within a sequence ofthe user interface screens. For example, the affordance may indicatethat user interface screen 620 is after user interface screen 610 in asequence of user interface screens. The affordance may indicate this invarious ways. For example, the affordance may depict a sequence of dots,the position of each indicating the sequence of the user interfacescreens, with the dot representing the currently displayed userinterface screen highlighted (e.g., as a filled circle, when the otherdots are not filled). This allows the user to navigate more easilythrough multiple user interface screens. As another example, theaffordances may each appear tab-like to form, together, a tabbed displaylayout.

Attention is now directed to how weather information may be displayed insome embodiments, with reference to FIG. 7. FIG. 7 shows exemplary userinterface screen 702 that device 700 can display on touchscreen 704. Insome embodiments, device 700 is device 500 (FIG. 5). As discussed abovein reference to FIG. 6, screen 702 can be, for example, a home screenthat appears when the display of device 700 is powered on, or thatappears in response to user input on device 700. Screen 702 hasaffordances corresponding to software applications that are available ondevice 700. A user may make contact with affordance 706 to launch theweather application. This causes device 700 to display a first userinterface screen 710 that includes indications of a location and acurrent temperature at the location. In some embodiments, the locationmay be the current location of device 700.

In the illustrated embodiment, a user may access weather information fordifferent times of day using rotatable input mechanism 708. While userinterface screen 710 is displayed, a user may rotate rotatable inputmechanism 708 (e.g., rotation 712). In response to the movement of therotatable input mechanism, device 700 may display a forecastedtemperature for the location. In some embodiments, device 700 maydisplay the forecasted temperature by replacing the display of userinterface screen 710 with a display of user interface screen 720.

In some embodiments, while the forecasted temperature is displayed, auser may rotate rotatable input mechanism 708 (e.g., rotation 722). Inresponse to the movement of the rotatable input mechanism, device 700may display a second forecasted temperature for the location. In someembodiments, device 700 may display the second forecasted temperature byreplacing the display of user interface screen 720 with a display ofuser interface screen 730. In some embodiments, device 700 may display atime corresponding to the time of the displayed current or forecastedtemperature (e.g., as shown by time 724 or time 732).

In some embodiments, the first and second forecasted temperatures differby a predetermined time interval. For example, if current time is noon,user interface screen 710 may display indications of the time, thelocation, and the temperature at the location at noon. In this example,if the time of the first forecasted temperature is 2 pm, user interfacescreen 720 may display indications of the location and the forecastedtemperature for the location at 2 pm (depicted by time 724). In thisexample, if the predetermined time interval is two hours, user interfacescreen 730 may display indications of the location and the secondforecasted temperature for the location at 4 pm (depicted by time 732).In some embodiments, the predetermined interval is two hours. In someembodiments, the predetermined interval is one hour.

In some embodiments, device 700 may obtain a time of sunset for thelocation and, while the second forecasted temperature is displayed, auser may rotate rotatable input mechanism 708. In response to themovement of the rotatable input mechanism, device 700 may display aforecasted temperature for the location at the time of sunset.

The time of sunset for a location on a day may be obtained from anexternal server. In some embodiments, device 700 may obtain the time ofsunset for the location on the current day from a weather service, suchas The Weather Channel, Accuweather, The National Weather Service,Yahoo!™ Weather, Weather Underground, and the like. In some embodiments,device 700 may obtain the time of sunset for the location on the currentday from organizations such as the United States Naval Observatory orthe National Oceanic and Atmospheric Administration.

In some embodiments, device 700 may obtain a time of sunrise for thecurrent day or the next calendar day for the location and, while aforecasted temperature for the location is displayed, a user may rotaterotatable input mechanism 708. In response to the movement of therotatable input mechanism, device 700 may display a forecastedtemperature for the location at the time of sunrise. In someembodiments, a user may rotate the rotatable input mechanism to displaythe forecasted temperature at sunrise for the next calendar day. In someembodiments, a user may rotate the rotatable input mechanism to displaythe forecasted or historical temperature at sunrise for the current day.

The time of sunrise for a location on a day may be obtained from anexternal server. In some embodiments, device 700 may obtain the time ofsunrise for the location on the current day from a weather service, suchas The Weather Channel, Accuweather, The National Weather Service,Yahoo!™ Weather, Weather Underground, and the like. In some embodiments,device 700 may obtain the time of sunrise for the location on thecurrent day from organizations such as the United States NavalObservatory or the National Oceanic and Atmospheric Administration.

In some embodiments, device 700 may display a visual representation offorecasted weather at the location (e.g., on any or all of userinterface screens 710, 720, and 730). In some embodiments, the visualrepresentation includes an affordance that represents forecastedweather, and the position of the affordance within the displayed userinterface screen varies based on the time being forecasted. In someembodiments, the affordance may be displayed at a position along thecircumference of a circle centered on the displayed user interfacescreen, i.e., as with a clock face. In these examples, the position ofthe affordance along the circumference of the circle may indicate time,similar to a position indicated by the hour hand of a clock.

In these examples, the position of the affordance depicts the time beingforecasted in a way familiar to the user (e.g., like a clock face) toprovide information in a way that is intuitive and comprehensible to theuser, thus improving the man-machine interface. Using the position ofthe affordance to depict time allows the user to immediately understandthe time of day and the weather conditions forecasted for that time.Using the affordance and its position to visually represent forecastedweather and the time being forecasted is also particularly advantageousfor a reduced-size device because it provides these data to the user ata glance in an easily understandable way without relying upon text orother visual objects that may be difficult to discern on a reduced-sizedisplay. These embodiments of a user interface for providing weatherinformation allow for a more efficient man-machine interface on a devicefor which the visual interface is smaller, such as a device having areduced-size display.

In some embodiments, while a temperature for the location is displayed,a user may swipe the touch-sensitive display of touchscreen 704. Inresponse to detecting the swipe, the device may display a currenttemperature for a second location distinct from the first location. Insome embodiments, the swipe does not begin at the bezel of the device.In some embodiments, the swipe is a substantially horizontal swipe. Insome embodiments, a substantially horizontal swipe is a swipe having ahorizontal movement exceeding a vertical movement by a threshold value.

In some embodiments, the displayed user interface screen may include anaffordance indicating the currently displayed location and a position ofthe displayed location within a sequence of locations. The affordancemay indicate this in various ways. For example, the affordance maydepict a sequence of dots, the position of each indicating the sequenceof the locations, with the dot representing the currently displayedlocation highlighted (e.g., as a filled circle, when the other dots arenot filled). As another example, the affordances may each appeartab-like to form, together, a tabbed display layout. This allows theuser to navigate more easily through multiple locations.

Attention is now directed to how weather information may be displayed invarious embodiments with reference to FIG. 8. FIG. 8 shows exemplaryuser interface screen 802 that device 800 can display on touchscreen804. In some embodiments, device 800 is device 500 (FIG. 5). In anotherembodiment of a user interface for providing weather information, a usermay access weather information for different locations using rotatableinput mechanism 806. A user may make contact with an affordance (e.g.,affordance 808) to launch a weather application. This causes device 800to display a first user interface screen (e.g., screen 810) thatincludes indications of a location and a current temperature at thelocation. While the user interface screen is displayed, a user mayrotate rotatable input mechanism 806 (e.g., by rotation 812). Inresponse to the movement of the rotatable input mechanism, device 800may display a current temperature for a second location distinct fromthe first location, as shown on screen 820. In some embodiments, themovement of rotatable input mechanism 806 is movement in one direction,e.g., clockwise or counterclockwise. In some embodiments, the firstlocation is a current location of device 800.

In some embodiments, while the indications of the second location andthe current temperature at the second location are displayed, a user mayrotate rotatable input mechanism 806 in an opposite direction. Inresponse to detecting the movement of the rotatable input mechanism 806in the opposite direction, device 800 may display the affordance (e.g.,affordance 808). In some embodiments, a user may display indications ofthe temperature at the second location by rotating rotatable inputmechanism 806 in the clockwise direction or display the affordancerepresenting the weather application by rotating rotatable inputmechanism 806 in the counterclockwise direction (or vice versa). FIG. 8depicts this reversibility in sequence by showing the opposite displaynavigation prompted by, for example, rotation 812 in comparison withrotation 832.

In some embodiments, while the indications of the first location and thecurrent temperature at the first location are displayed, a user mayswipe the touch-sensitive display of touchscreen 804. In response todetecting the swipe, device 800 may scroll the displayed weatherinformation, e.g., to reveal additional weather information. In someembodiments, device 800 may scroll the displayed weather information bytranslating the displayed information on the display of touchscreen 804and displaying forecasted temperature for a future day for the displayedlocation. For example, device 800 may display the forecasted temperaturefor tomorrow at the displayed location. In another example, device 800may display a weekly weather forecast (e.g., a forecasted temperaturefor each of the next 5 days, the next 6 days, the next 7 days, and thelike) for the displayed location. In these scenarios, device 800 maydisplay forecasted weather information that includes a forecastedtemperature, a time for the forecasted temperature, a forecasted weathercondition, and/or the likelihood of forecasted precipitation (typicallyexpressed as a percentage, e.g., the percent chance of precipitation).Forecasted weather conditions may include, for example, weatherconditions including precipitation, likelihood of precipitation,humidity, sunshine, cloud cover, wind (including direction and/orspeed), barometric pressure, apparent temperature, and so forth.

In some embodiments, the displayed user interface screen may include anaffordance indicating the currently displayed location and a position ofthe displayed location within a sequence of locations. The affordancemay indicate this in various ways. For example, the affordance maydepict a sequence of dots, the position of each indicating the sequenceof the locations, with the dot representing the currently displayedlocation highlighted (e.g., as a filled circle, when the other dots arenot filled). As another example, the affordances may each appeartab-like to form, together, a tabbed display layout. This allows theuser to navigate more easily through multiple locations.

2. Displaying Weather Through Affordance on Home Screen

FIG. 9 shows exemplary user interface screen 902 that device 900 candisplay on touchscreen 904. In some embodiments, device 900 may be oneor more of devices 100 (FIG. 1), 300 (FIG. 3), and/or 500 (FIG. 5).Screen 902 can be, for example, a home screen such as 702 (FIG. 7) insome embodiments. Screen 902 includes affordance 906 for launching theweather application.

Affordance 906 can itself provide weather information in someembodiments. In some embodiments, affordance 906 includes an image ofthe current weather at a designated location (e.g., the device's currentlocation or user-designated location). In some embodiments, affordance906 includes an image of the current or forecasted weather conditions atthe location of an upcoming activity. Device 900 may obtain datarepresenting an upcoming activity with an associated date and time. Anactivity may be user-defined or system-determined. Examples of userdefined activities may include a user's calendar entries. In thisscenario, device 900 may obtain data representing the upcoming activityby accessing a calendar application and obtaining data for the event(e.g., data representing any date(s) and/or time(s) of day associatedwith the calendar entry). Examples of system-determined activities maybe activities that are frequently occurring, such as a commute, that maybe tracked and identified by the electronic device. In this scenario,device 900 may obtain routine data for a user, such as the time of day auser typically leaves home for work, the time of day in which a user istypically commuting to or from work, the time of day in which a user istypically exercising, and the like. In either case (i.e., whether anactivity is user-defined or system-determined), it is desirable fordevice 900 to obtain any data related to predicting a time in which theuser may be traveling or outdoors so that device 900 may alert the userto current and/or forecasted weather conditions, particularly anyinclement weather conditions. This allows the user to plan for theweather conditions accordingly, which may involve appropriately dressingfor a particular weather condition, allowing for extra travel time forthe activity on account of a particular weather condition, and so forth.

Device 900 may determine that the activity is to begin within athreshold amount of time and, if the upcoming activity is to beginwithin a threshold amount of time, display weather information based onthe upcoming activity. A threshold amount of time within which anactivity is to begin may include any amount of time during which a usermay wish to receive information regarding weather conditions associatedwith the activity (e.g., advance notice for the activity). In someembodiments, a threshold amount of time may include 30 minutes, 1 hour,or 2 hours. In some embodiments, an activity that is to begin within athreshold amount of time may refer to an activity beginning on thecurrent day. In some embodiments, an activity that is to begin within athreshold amount of time may refer to an activity beginning on the nextday, so as to alert a user to potential weather conditions for anactivity that is scheduled to begin the next morning.

To provide an alert to the user, device 900 may, for example, replaceuser interface screen 902, which depicts affordances representingapplications, with user interface screen 910, which displays anaffordance representing a weather alert. Such an affordance may include,for example, a text (e.g., text 912) indicating a weather conditionand/or an affordance, symbol, image, or any other visual object thatvisually indicates a weather condition.

In some embodiments, device 900 may cause a haptic event with displayingthe weather information. Causing a haptic event “with” displayingweather information may include causing a haptic event before, during,or after displaying weather information. In some embodiments, device 900may cause a haptic event that begins when device 900 displays theweather information. In some embodiments, device 900 may cause a hapticevent that begins just before device 900 displays the weatherinformation. In some embodiments, device 900 may cause a haptic eventthat is substantially contemporaneous, with a slight delay, withdisplaying the weather information.

In some embodiments, displaying weather information based on an upcomingactivity may include displaying current weather information for thelocation of the upcoming activity. In some embodiments, device 900 mayobtain a location of an upcoming activity, obtain current weatherinformation for the location of the upcoming activity, and displaycurrent weather information for the location of the upcoming activity.Device 900 may obtain a location of an upcoming activity in variousways. For example, if the upcoming activity is a calendar entry, device900 may obtain a location associated with the calendar entry. If theupcoming activity is determined by routine data, device 900 may obtain alocation for the routine data through a location sensor (e.g., a GPSsensor).

In some embodiments, displaying weather information based on an upcomingactivity may include displaying forecasted weather information for thelocation of the upcoming activity. In some embodiments, device 900 mayobtain a start time of an upcoming activity, obtain forecasted weatherinformation for the start time of the upcoming activity, and display theforecasted weather information for the start time of the upcomingactivity. Device 900 may obtain a start time of an upcoming activity invarious ways. For example, if the upcoming activity is a calendar entry,device 900 may obtain a start time associated with the calendar entry.If the upcoming activity is determined by routine data, device 900 mayobtain a start time for the routine data. Device 900 may further obtaina location associated with the upcoming activity in order to determinethe forecasted weather conditions for the start time of the upcomingactivity at the location of the upcoming activity.

In some embodiments, displaying weather information based on an upcomingactivity may include displaying weather information for the currentlocation. In some embodiments, device 900 may obtain a current locationof the device, obtain weather information for the current location ofthe device, and display the weather information for the current locationof the device. In some embodiments, device 900 may obtain a currentlocation of the device using the location sensor. In some embodiments,weather information for the current location may include current weatherinformation. In some embodiments, weather information for the currentlocation may include forecasted weather information. For example,forecasted weather information may reflect forecasted weatherinformation for a time based on the upcoming activity, such as a starttime or any other time of interest in the duration of the activity.

In some embodiments, displaying weather information based on an upcomingactivity may include displaying weather information for a geographiclocation in-between the current location and the location of theupcoming activity. In some embodiments, device 900 may obtain a currentlocation of the device and a location of the upcoming activity, obtainweather information for a geographic location in-between the currentlocation and the location of the upcoming activity, and display theweather information for the geographic location in-between the currentlocation and the location of the upcoming activity. In this scenario, auser may wish to receive weather information related to travel between acurrent location and the location of an upcoming activity. For example,such information may reflect weather conditions on a user's route to anupcoming activity, or on a user's commute between work and home, and soforth. A geographic location in-between a current location and thelocation of an upcoming activity may include to any location between thetwo points. In some embodiments, the geographic location may be alocation on a particular route between the current location and thelocation of the upcoming activity, such as a road or air traffic route.In some embodiments, the geographic location may be a location on theline between the current location and the location of the upcomingactivity, e.g., as the crow flies. In some embodiments, the geographiclocation may be a city or other location of interest between the currentlocation and the location of the upcoming activity.

In some embodiments, device 900 may determine whether obtained weatherinformation represents inclement weather and display a visual indicationof the inclement weather. In some embodiments, inclement weather mayrefer to precipitation, wind, extreme temperature (high or low), or anyother severe or potentially hazardous weather condition. Inclementweather may include any such weather condition that has been observed,or it may include a warning, watch, or other notification issued for thepossibility of any such weather condition.

A visual indication of inclement weather may include an affordance,text, symbol, image, or any other visual object. In some embodiments,visual indications may depict current weather by a visual representationthat represents weather conditions, for example, a sun, moon, stars,cloud, rain drop, snowflake, hail, lightning bolt, wavy or curved lines(indicating wind or breeze), and so forth. In some embodiments, visualindications may depict current weather by a visual representation thatrepresents an item associated with a weather condition, such as anumbrella, coat, boots, protective eyewear, sunglasses, mittens orgloves, scarf, and so forth. In some embodiments, visual indications mayinclude text 912 that indicates inclement weather conditions. In someembodiments, text 912 may be displayed in its entirety at once, or itmay be displayed by marquee scrolling.

In some embodiments, a user may remove the display of the visualindication of inclement weather by contacting the touch-sensitivedisplay of touchscreen 904. In response to detecting the contact, device900 may remove the display of the visual indication of inclementweather. A user may contact the touch-sensitive display by a swipe, tap,touch, or the like.

In some embodiments, a user may launch a weather application bycontacting the touch-sensitive display of touchscreen 904. In responseto detecting the contact, device 900 may launch a weather application.In some embodiments, a user may contact the display at the location of adisplayed affordance indicating inclement weather to launch a weatherapplication. Allowing the user to choose whether to remove the alert orlaunch a weather application and receive more detailed weatherinformation sustains user's interaction with the device by customizingthe user's level of interaction with the device.

3. Selecting from Multiple Locations to View Weather Information

Turning now to FIG. 10, a user may wish to view weather informationcorresponding to one of multiple locations, such as a location selectedfrom a set of designated locations. A designated location may beuser-designated, for example a location of interest designated by theuser or a current location, or a designated location may besystem-designated, for example a major world city (e.g., New York,London, or Tokyo), or a location detected by the device.

FIG. 10 shows exemplary user interface screen 1002 that device 1000 candisplay on touchscreen 1004. As discussed above in reference to FIG. 7,screen 1002 can be, for example, a home screen that appears when thedisplay of device 1000 is powered on, or that appears in response touser input on device 1000. Screen 1002 has affordances, such asaffordance 1006. These affordances may correspond to softwareapplications that are available on device 1000.

Affordance 1006 corresponds to a weather application. A user may makecontact with affordance 1006 (e.g., by finger touch 1008) to launch thecorresponding weather application. In response to detecting the contact,device 1000 may launch the weather application and display a grid onuser interface screen 1010. A grid may include a plurality of gridportions representing different geographic locations. A “grid” layoutrefers to a layout in which objects are arranged along intersectingvertical columns and horizontal rows.

A user may select a location for which to view weather information bycontacting a grid portion representing a first location. For example, auser may contact the display at grid portion 1012 to view weatherinformation for the city represented by grid portion 1012. A contact onthe display may include finger touch 1014. Each grid portion may includean indication of the location represented, such as a text or othervisual indication (e.g., “city a” on screen 1010). In some embodiments,one of the grid portions represents a current location of the device. Insome embodiments, the current location of the device is represented bythe grid portion in the middle of screen 1012.

In response to detecting the contact, device 1000 may cease to displaythe grid and display a current temperature at the first location, suchas depicted in user interface screen 1020. In addition to the currenttemperature, device 1000 may optionally display any other weatherinformation using any of the indications, such as affordances, text,visual representations, icons, symbols, wallpapers, and the likedescribed herein.

In some embodiments, while the current temperature at the first locationis displayed, a user may select a second location by rotating rotatableinput mechanism 1022. In response to detecting the movement of rotatableinput mechanism 1022, device 1000 may display a current temperature atthe second location, where the grid portion representing the secondlocation abuts the grid portion of the first location. This connects thelayout of locations represented by the grid with the rotation of therotatable input mechanism, allowing the user to control the order inwhich locations are selected. Advantageously, this connection makesselection of multiple locations through the combination of touch and therotatable input mechanism predictable for the user, thereby sustaininguser interaction with the device. This connection also prevents the userfrom having to spend time navigating between the display of the grid andthe display of the weather conditions at a location, e.g., as wouldoccur if the user had to select a location, return to the grid, select asecond location, return to the grid, etc.

In some embodiments, while the current temperature at the first locationis displayed, a user may return to the display of the grid by rotatingrotatable input mechanism 1022. In response to detecting the movement ofrotatable input mechanism 1022, device 1000 may display the grid. Insome embodiments, a user may select a second location by rotatingrotatable input mechanism 1022 in a particular direction and return tothe display of the grid by rotating rotatable input mechanism 1022 inthe opposite direction.

In some embodiments, while the current temperature at the first locationis displayed, a user may view a forecasted temperature for the firstlocation by rotating rotatable input mechanism 1022. In response todetecting the movement of rotatable input mechanism 1022, device 1000may display a forecasted temperature for the first location. In thisscenario, a user may select a location from the grid by contactingtouchscreen 1004 to view current weather conditions (such astemperature), and use the rotatable input mechanism to view forecastedweather conditions for the same location. Forecasted weather conditionsmay include, for example, an hourly forecast for the current day, aweekly forecast for the current week, and so forth.

In some embodiments, while the current temperature at the first locationis displayed, a user may view additional weather information for thefirst location by rotating rotatable input mechanism 1022. In responseto detecting the movement of rotatable input mechanism 1022, device 1000may scroll the display of the current temperature at the first locationto display additional weather information for the first location.Additional weather information may include, for example, additionaldetails of weather conditions such as precipitation, likelihood ofprecipitation, humidity, sunshine, cloud cover, wind (includingdirection and/or speed), barometric pressure, apparent temperature, andso forth. In some embodiments, a user may scroll from the currenttemperature to the additional information by rotating rotatable inputmechanism 1022 in a particular direction and scroll from the additionalinformation to the current temperature by rotating rotatable inputmechanism 1022 in the opposite direction.

In some embodiments, while the current temperature at the first locationis displayed, a user may select a second location by swiping touchscreen1004. In response to detecting the swipe, device 1000 may display thecurrent temperature at the second location. In some embodiments, theswipe does not begin at the bezel of device 1000.

In some embodiments, while the current temperature at the first locationis displayed, a user may view additional weather information for thefirst location by swiping touchscreen 1004. In response to detecting theswipe, device 1000 may scroll the displayed first user interface screento reveal additional weather information for the first location. In someembodiments, the swipe does not begin at the bezel of device 1000.

In some embodiments, displaying the current temperature of a locationmay include displaying an affordance indicating the location of thecurrently displayed temperature and a position of the displayed locationwithin a sequence of locations represented in the grid. The affordancemay indicate this in various ways. For example, the affordance maydepict a sequence of dots, the position of each indicating the sequenceof the locations, with the dot representing the currently displayedlocation highlighted (e.g., as a filled circle, when the other dots arenot filled). As another example, the affordances may each appeartab-like to form, together, a tabbed display layout. This allows theuser to navigate more easily through multiple locations.

FIG. 11 shows another layout that allows a user to view weatherinformation for multiple locations. FIG. 11 shows exemplary userinterface screen 1102 that device 1100 can display on touchscreen 1104.In some embodiments, device 1100 is device 500 (FIG. 5). As discussedabove in reference to FIG. 7, screen 1102 can be, for example, a homescreen that appears when the display of device 1100 is powered on, orthat appears in response to user input on device 1100. Screen 1102 hasaffordances, such as affordance 1106. These affordances may correspondto software applications that are available on device 1100.

Affordance 1106 corresponds to a weather application. A user may makecontact with affordance 1106 to launch the corresponding weatherapplication. In response to detecting the contact, device 1100 maylaunch the weather application and display a plurality of regions onuser interface screen 1110, each region representing a differentgeographic location. A region is a contiguous display area that isvisually distinguishable from the background of the weather application.The regions may be arranged along a vertical column, such as regions1112, 1114, and 1116 as shown on user interface screen 1110.

A user may select a location for which to view weather information bycontacting a region representing a first location. For example, a usermay contact the display at region 1112 to view weather information forthe city represented by region 1112. A contact on the display mayinclude a finger touch. Each region may include an indication of thelocation represented, such as a text or other visual indication (e.g.,“city A” on screen 1110). In some embodiments, one of the regionsrepresents a current location of the device. In some embodiments, thecurrent location of the device is represented by the region at the topof screen 1110 (“city A” represented by region 1112 in this example).

In response to detecting the contact, device 1100 may display a currenttemperature at the first location. In some embodiments, device 1100ceases the display of the plurality of regions. For example, as shown inFIG. 11, a user may touch region 1112 to display a current temperatureat city A on user interface screen 1120, touch region 1114 to display acurrent temperature at city B on user interface screen 1130, or touchregion 1116 to display a current temperature at city C on user interfacescreen 1140. In addition to displaying the current temperature, any orall of screens 1120, 1130, and 1140 may optionally include any otherweather information using any of the indications, such as affordances,text, visual representations, icons, symbols, wallpapers, and the likedescribed herein.

In some embodiments, while the current temperature at the first locationis displayed, a user may select a second location by rotating rotatableinput mechanism 1122. In response to detecting the movement of rotatableinput mechanism 1122, device 1100 may display a current temperature atthe second location, where the region representing the second locationabuts the region of the first location. For illustrative purposes, if afirst region (e.g., region 1112) represents a first location (in thisscenario, “city A”), a second location (in this scenario, “city B”) maybe represented by a second region that abuts the first region (in thisscenario, region 1114). Similar to the grid of FIG. 10 as discussedabove, this connects the layout of locations represented by the regionswith the rotation of the rotatable input mechanism, allowing the user tocontrol the order in which locations are selected and preventing theuser from having to spend time navigating between the display of theplurality of regions and the display of the weather conditions at alocation.

In some embodiments, while the current temperature at the first locationis displayed, a user may return to the display of the plurality ofregions by rotating rotatable input mechanism 1122. In response todetecting the movement of rotatable input mechanism 1122, device 1100may display the plurality of regions. In some embodiments, a user mayselect a second location by rotating rotatable input mechanism 1122 in aparticular direction and return to the display of the plurality ofregions by rotating rotatable input mechanism 1122 in the oppositedirection.

In some embodiments, while the current temperature at the first locationis displayed, a user may view a forecasted temperature for the firstlocation by rotating rotatable input mechanism 1122. In response todetecting the movement of rotatable input mechanism 1122, device 1100may display a forecasted temperature for the first location. In thisscenario, a user may select a location from the plurality of regions bycontacting touchscreen 1104 to view current weather conditions (such astemperature), and use the rotatable input mechanism to view forecastedweather conditions for the same location. Forecasted weather conditionsmay include, for example, an hourly forecast for the current day, aweekly forecast for the current week, and so forth.

In some embodiments, while the current temperature at the first locationis displayed, a user may view additional weather information for thefirst location by rotating rotatable input mechanism 1122. In responseto detecting the movement of rotatable input mechanism 1122, device 1100may scroll the display of the current temperature at the first locationto display additional weather information for the first location.Additional weather information may include, for example, additionaldetails of weather conditions such as precipitation, likelihood ofprecipitation, humidity, sunshine, cloud cover, wind (includingdirection and/or speed), barometric pressure, apparent temperature, andso forth. In some embodiments, a user may scroll from the currenttemperature to the additional information by rotating rotatable inputmechanism 1122 in a particular direction and scroll from the additionalinformation to the current temperature by rotating rotatable inputmechanism 1122 in the opposite direction.

In some embodiments, while the current temperature at the first locationis displayed, a user may select a second location by swiping touchscreen1104. In response to detecting the swipe, device 1100 may display acurrent temperature at the second location. In some embodiments, theswipe does not begin at the bezel of device 1100.

In some embodiments, while the current temperature at the first locationis displayed, a user may view additional weather information for thefirst location by swiping touchscreen 1104. In response to detecting theswipe, device 1100 may scroll the displayed first user interface screento reveal additional weather information for the first location. In someembodiments, the swipe does not begin at the bezel of device 1100.

In some embodiments, displaying the current temperature of a locationmay include displaying an affordance indicating the location of thecurrently displayed temperature and a position of the displayed locationwithin a sequence of locations represented in the plurality of regions.The affordance may indicate this in various ways. For example, theaffordance may depict a sequence of dots, the position of eachindicating the sequence of the locations, with the dot representing thecurrently displayed location highlighted (e.g., as a filled circle, whenthe other dots are not filled). As another example, the affordances mayeach appear tab-like to form, together, a tabbed display layout. Thisallows the user to navigate more easily through multiple locations.

In some embodiments, displaying the plurality of regions may includedisplaying the plurality of regions as a vertical list. For example, theregions in the plurality may be arranged as the vertical list depictedby regions 1112, 1114, and 1116 on user interface screen 1110.

4. Weather User Interfaces that Depict Time Through Affordance Position

FIG. 12 depicts another embodiment of a user interface for providingweather information. In some embodiments, device 1200 is device 500(FIG. 5). Device 1200 may display an image representing a weathercondition for a first time of day, e.g., by displaying screen 1210 or1220 on touchscreen 1202. For example, as shown in FIG. 12, screen 1210indicates sunny conditions (by image 1212) at sunrise (by text 1214).Screen 1220 indicates cloudy conditions (by image 1222) forecasted for8:00 am.

An image representing a weather condition may include a realistic image,such as a photograph-quality image, or a stylized image, such as acartoon, icon, or other symbolic representation. Images may represent aweather condition by depicting, for example, a sun, moon, stars, cloud,rain drop, snowflake, hail, lightning bolt, wavy or curved lines(indicating wind or breeze), and so forth. Images may also represent aweather condition by depicting an item associated with a weathercondition, such as an umbrella, coat, boots, protective eyewear,sunglasses, mittens or gloves, scarf, and so forth. Any of these imagesmay further include an animation.

Device 1200 may display an affordance at a first position correspondingto the first time. For example, as shown on screen 1220, affordance 1224corresponds to 8:00 am. Therefore, a user seeing screen 1220 immediatelyunderstands the time of day being represented (through texts andaffordance 1224) and the weather conditions forecasted for that time(through image 1222 and the temperature).

A user may view a weather condition for a second time of day by rotatinga rotatable input mechanism, such as rotatable input mechanism 1216,1226, 1234, 1244, or 1254. In response to detecting the movement ofrotatable input mechanism 1216, device 1200 may move the affordance fromthe first position to a second position that corresponds to a secondtime of the day and update the image to represent a weather conditionfor the second time of day. As shown in FIG. 12, rotations 1218, 1228,1236, 1246, and 1256 allow the user to view user interface screens 1220,1230, 1240, 1250, and 1260, respectively. Each screen depicts aforecasted weather condition for the corresponding time of day (see,e.g., images 1222, 1232, 1242, 1252, and 1262).

Taking screens 1220 and 1230 as an example, a user views the forecastedweather corresponding to 8:00 am through screen 1220. Screen 1220displays affordance 1224 to indicate a time of day (this is furtherdepicted by the text “8:00 am,” but indicating the time of day throughboth text and image is an optional feature). Screen 1220 also includesimage 1222 to indicate cloudy conditions forecasted for the depictedtime of day. A forecasted temperature is also provided, but this is anoptional feature. By rotating rotatable input mechanism 1226, a user isable to view the forecasted weather corresponding to 10:00 am throughscreen 1230. Screen 1230 displays affordance 1232 to indicate a time ofday and the image (a cloud) to indicate cloudy conditions forecasted forthat time of day (along with an optional indication of the forecastedtemperature). The position of 1232 has been updated as compared to theposition of affordance 1224 to indicate the passage of time.

In some embodiments, device 1200 may move the affordance by displayingan animation translating the affordance from the first position to thesecond position. In the example of screens 1220 and 1230, an animationmay depict the translation of affordance 1224 at the first position toaffordance 1232 at the second position. The translation may occur alongthe circumference of a circle that encircles the image representing theweather condition. That is, affordances 1224 and 1232 may be translatedalong an arc of the perimeter of a circle that encircles the depictedcloud image.

In some embodiments, the circle that encircles the image representingthe weather condition corresponds to a circular clock face, and aposition of the affordance along the circumference of the circlecorresponds to a time as defined by the clock face. This allows the userto readily determine the indicated time of day by comparing the positionof the affordance to a familiar clock face depiction of time. In someembodiments, the position of the affordance may indicate the time of dayby occupying the same position on the clock face as the positiondepicted by an hour hand at that time of day.

In some embodiments, device 1200 may obtain a time of sunset for theday. As described previously, the time of sunset for a day may beobtained from an external server. In some embodiments, device 1200 mayobtain the time of sunset for the day from a weather service, such asThe Weather Channel, Accuweather, The National Weather Service, Yahoo!™Weather, Weather Underground, and the like. In some embodiments, device1200 may obtain the time of sunset for the day from organizations suchas the United States Naval Observatory or the National Oceanic andAtmospheric Administration. In some embodiments, determining a time ofsunset for the day includes determining a location of device 1200 (suchas by using a location sensor, e.g., a GPS sensor) and determining atime of sunset for the day at the location.

A user may view a weather condition for sunset by rotating rotatableinput mechanism 1254. In response to detecting one or more movements ofrotatable input mechanism 1254, device 1200 may move the affordance to athird position corresponding to the time of sunset and update the imageto represent sunset. For example, using screens 1240, 1250, and 1260 asan example, a user may progress from 12:00 pm to 4:00 pm to sunset byrotations 1246 and 1256. Sunset is represented on screen 1260 by image1262. In this example, the user may rotate rotatable input mechanism1254 once to progress from 4:00 pm to sunset, going from screen 1250 to1260, and the user may rotate rotatable input mechanism 1244 twice toprogress from 12:00 pm to sunset, going from screen 1240 to 1250 to1260. The intervals between represented times of day may vary,particularly in moving from sunrise to another time of day and in movingfrom a time of day to sunset.

In some embodiments, the clock face includes a portion representingnighttime and a portion representing daytime. For example, the portionrepresenting nighttime may include all times depicted by the clock facebetween sunset and sunrise of the following day, and the portionrepresenting daytime may include all times depicted by the clock facebetween sunrise and sunset. Device 1200 may determine the portions ofthe clock face representing daytime and nighttime, for example, byobtaining times for sunset and sunrise as discussed above. The portionsrepresenting nighttime and daytime may have distinct visual appearances.

In some embodiments, device 1200 displays a visual representation of thesun when the affordance is positioned along the daytime portion and avisual representation of the moon when the affordance is positionedalong the nighttime portion. In some embodiments, the image is an imageof a sun, a cloud, or a moon. For example, the image may representdaytime by depicting a sun, or nighttime by depicting a moon. Asdescribed above, the image may represent a weather condition, e.g., bydepicting a cloud or any of the other representations of a weathercondition described herein.

In some embodiments, the affordance is a sun, a cloud, or a moon. Insome embodiments, the affordance indicates whether the indicated time isduring daytime or nighttime by depicting a sun for daytime or a cloudfor nighttime. In some embodiments, the affordance indicates a weathercondition, such as a cloud or any of the other representations of aweather condition described herein.

In some embodiments, the image is at the origin of the circle, and aposition on the circle at π/2 radians (e.g., top) represents noon. Insome embodiments, the image is at the origin of the circle, and aposition on the circle at 90° represents noon. In some embodiments, theimage is at the origin of the circle, and a position at the apex of thecircle on the vertical axis of the display represents noon. As usedhere, the vertical axis of the display lies on the display surface ofthe display.

FIG. 13A depicts another embodiment of a user interface for providingweather information. In some embodiments, device 1300 is device 500(FIG. 5). Device 1300 may display an image representing a currentweather condition for a current time of day, e.g., by displaying screen1310 having affordance 1312 on touchscreen 1302.

In some embodiments, the position of an affordance is used to representthe current time. In the illustrated example, affordance 1312 indicatesa current time of day via its position on screen 1310, e.g., 1:30. Asshown in FIG. 13A, one or more numerical indications of time may also bedisplayed on screen 1310. The user may therefore determine the currenttime of day by the position of affordance 1312 on screen 1310,optionally aided by one or more numerical indications of time arrangedat position(s) on screen 1310 as on a clock face. In some embodiments,the visual appearance of an affordance is used to represent the weatherat the displayed time. In the illustrated example, affordance 1312graphically indicates a current weather condition by depicting thevisual appearance of a sun for sunny conditions. The user may thereforerecognize the current weather condition (and the current time) byperceiving affordance 1312 and its position on screen 1310.

In some embodiments, a user may view a forecasted weather condition foranother time of day by providing a user input, such as a rotation ofrotatable input mechanism 1314. In response to detecting one or moremovements of rotatable input mechanism 1314 (e.g., rotation 1316),device 1300 may display a second time of day and the forecasted weatherfor the second time of day on screen 1320. Compared to screen 1310,screen 1320 shows the user that the depicted time has changed (in thisexample, 4:30) by moving the affordance to a new position, such as theposition of affordance 1322. In addition, affordance 1322 indicates adifferent weather condition (overcast or cloudy conditions) by depictinga cloud. The user may therefore view a forecasted weather condition fora future time of day by providing an input, such as a rotation of therotatable input mechanism. Optionally, affordance 1322 may return to itsprevious position (indicative of the current time) after some period ofidleness if no further user input is detected.

In some embodiments, a user may view a forecasted weather condition foranother time of day by providing a user input, such as by touching andswiping affordance 1322 to a different position on the clock facerepresented by screen 1330. In response to detecting a touch contact onthe position of affordance 1322 followed by a movement of the touchtowards the position of affordance 1332, device 1300 may display a thirdtime of day and the forecasted weather for the third time of day onscreen 1330. Compared to screen 1320, screen 1330 shows the user thatthe depicted time has changed (in this example, 10:30), and affordance1332 indicates that the third time of day is during nighttime bydepicting a moon. Affordance 1332 also indicates that the forecastedweather conditions are clear by depicting a moon with no cloud cover.Optionally, affordance 1322 may return to its previous position(indicative of the current time) after some period of idleness if nofurther user input is detected.

In some embodiments, a displayed affordance (e.g., affordances 1312,1322, and 1332) may indicate whether the time shown by the affordanceposition corresponds to daytime, nighttime, sunrise, or sunset bydepicting one or more graphical indications such as a sun, moon, stars,and/or horizon line. In some embodiments, a displayed affordance (e.g.,affordances 1312, 1322, and 1332) may further indicate the representedtime by the color of the affordance (e.g., a warm color such as red fordaytime, cool color such as blue for nighttime, purple for sunset,orange for sunrise, and so forth). That is, device 1300 may use the same(or similar) affordance to indicate the same (or similar) weathercondition forecasted for different times of day by imparting theaffordance with different colors. These features allow a user to quicklydiscern the time and weather condition being shown (whether current orforecasted).

FIG. 13B depicts another embodiment of a user interface for providingweather information via device 1300. As shown, device 1300 may displaymultiple affordances arranged at positions on screen 1340 as on a clockface. The positions of the displayed affordances may correspond todifferent times of the day. For example, the position of affordance 1342may correspond to 9 o'clock, and the position of affordance 1344 maycorrespond to 12 o'clock. In addition, the visual appearance of thedisplayed affordances may correspond to current, historic, or forecastedweather. For example, affordance 1342 may depict a sun to indicate sunnyweather at 12 o'clock, and affordance 1346 may depict a cloud partiallycovering a sun along a horizon line to indicate a cloudy sunrise atabout 6 o'clock.

In the illustrated example, portion 1348 of screen 1340 does not haveaffordances indicative of weather. This omission may be used to providevisual emphasis of the current time, in some embodiments. Restated,affordance(s) representing hours of the day immediately preceding thecurrent hour may be omitted from display. As shown, screen 1340illustrates the current time as 6 o'clock, and no affordance (indicativeof weather) is displayed at the 5 o'clock and 4 o'clock positions ofscreen 1340. Restated, the first displayed affordance (1346) adjacent anopening (1348) along the clock face of screen 1340 is indicative of thecurrent hour. In some embodiments (not illustrated), all twelve hourmarkers on a clock face have corresponding affordances indicatingweather at those hours.

In some embodiments, the visual appearances of displayed weatheraffordances are indicative of the times they represent. For example,screen 1350 also has multiple affordances arranged on screen as on aclock face. In contrast to screen 1340, some of the affordances (e.g.,1352) shown in screen 1350 depict the visual appearance of a moon toclarify whether the represented hour corresponds to nighttime or daytime. For example, affordance 1352 depicts a moon to clarify that itrepresents clear weather midnight, not noon. Similarly, affordance 1354depicts a sun to clarify that sunny weather is expected for threeo'clock in the afternoon (as opposed to night). As before, no affordanceis displayed within on-screen portion 1356 to signal discontinuitybetween midnight (represented by affordance 1352) and the current hourof 3 pm (as represented by affordance 1354 and text 1358). In someembodiments (not illustrated), all twelve hour markers on a clock facehave corresponding affordances indicating weather at those hours.

In some embodiments, the current time is indicated by the position of auser interface object on the display (e.g., an affordance not indicativeof weather, such as a dot or other shape). For example, screen 1360displays affordances of weather (e.g., affordance 1362) at 12 positions,as on a clock face. Displayed user interface object 1364 (e.g., a dot orother shape) is displayed adjacent to the affordance (e.g., affordance1366) that indicates the current time. User interface object 1364 allowsdevice 1300 to display current or forecasted weather for twelve hourswhile indicating the current time on the visual display. Screen 1360 mayoptionally include a separate indication of the current time, inaddition to user interface object 1364, such as text 1358 on screen1350.

In any of the exemplary embodiments described herein in which weatherinformation is displayed, a user may provide a user input to change thetype of weather information that is displayed. Types of weatherinformation may include current or forecasted precipitation (e.g.,likelihood, type, and/or amount of precipitation); current or forecastedtemperature (e.g., air/absolute temperature or apparent temperature);and a current or forecasted weather condition (e.g., humidity, sunshine,cloud cover, wind direction, wind speed, barometric pressure, and soforth). For example, in FIG. 13B, device 1300 is displaying screen 1340,which displays a weather condition (in this case, cloud cover)associated with each hour. The user may provide a user input to switchthe display to show a temperature associated with each hour. The usermay provide a second user input to switch the display to show alikelihood of precipitation associated with each hour. This allows theuser to easily toggle what type of weather information is displayed. Insome embodiments, the device may display a first type of weatherinformation and receive a user input. In response to receiving the userinput, the device may update the display to display a second type ofweather information that is different from the type class of weatherinformation.

In some embodiments, the user input may be a touch gesture (e.g., a tap)on a touch-sensitive surface or touch-sensitive display. In someembodiments, the user input may be a contact on a touch-sensitivesurface or touch-sensitive display, and in response to detecting thecontact, the device may determine whether a characteristic intensity ofthe contact exceeds an intensity threshold. In accordance with adetermination that the characteristic intensity of the contact exceedsthe intensity threshold, the device may update the display to display asecond class of weather information that is different from the firstclass of weather information. In accordance with a determination thatthe characteristic intensity of the contact does not exceed theintensity threshold, the device may forego updating the display.

FIG. 14 is a flow diagram illustrating process 1400 for providingweather information. In some embodiments, process 1400 may be performedat an electronic device with a touch-sensitive display and a rotatableinput mechanism, such as device 500 (FIG. 5). At block 1402, anaffordance representing a weather application is displayed. At block1404, a contact on the displayed affordance is detected. At block 1406,responsive at least in part to detecting the contact, the weatherapplication is launched. At block 1408, at least a portion of a firstuser interface screen including indications of a first location and atemperature at the first location is displayed. At block 1410, while thefirst user interface screen is displayed, user input is detected. Atblock 1412, a determination is made as to whether the user input ismovement of the rotatable input mechanism or a swipe on thetouch-sensitive display. At block 1414, in accordance with thedetermination that the user input is movement of the rotatable inputmechanism, the first user interface screen is scrolled. At block 1416,in accordance with the determination that the user input is a swipe, atleast a portion of a second interface screen including indications of asecond location and a temperature at the second location is displayed.

FIG. 15 is a flow diagram illustrating process 1500 for providingweather information. In some embodiments, process 1500 may be performedat an electronic device with a touch-sensitive display and a rotatableinput mechanism, such as device 500 (FIG. 5). At block 1502, anaffordance representing a weather application is displayed. At block1504, a contact on the displayed affordance is detected. At block 1506,responsive at least in part to detecting the contact, the weatherapplication is launched. At block 1508, indications of a location and acurrent temperature at the location are displayed. At block 1510, whilethe indications of the location and the current temperature aredisplayed, movement of the rotatable input mechanism is detected. Atblock 1512, responsive at least in part to detecting the movement of therotatable input mechanism, a forecasted temperature for the location isdisplayed. Optionally, at block 1512, a swipe on the touch-sensitivedisplay is detected. Optionally, at block 1512, responsive at least inpart to detecting the swipe, a current temperature for a second locationdistinct from the first location is displayed.

FIG. 16 is a flow diagram illustrating process 1600 for providingweather information. In some embodiments, process 1600 may be performedat an electronic device with a touch-sensitive display and a rotatableinput mechanism, such as device 500 (FIG. 5). At block 1602, anaffordance representing a weather application is displayed. At block1604, a contact on the displayed affordance is detected. At block 1606,responsive at least in part to detecting the contact, the weatherapplication is launched. At block 1608, indications of a first locationand a current temperature at the first location are displayed. At block1610, while displaying the indications of the first location and currenttemperature, movement of the rotatable input mechanism is detected. Atblock 1612, responsive at least in part to detecting the movement of therotatable input mechanism, indications of a second location distinctfrom the first location and a current temperature at the second locationare displayed. Optionally, at block 1612, while the indications of thefirst location and the current temperature at the first location aredisplayed, a swipe on the touch-sensitive display is detected.Optionally, at block 1612, responsive at least in part to detecting theswipe, the displayed weather information is scrolled.

FIG. 17 is a flow diagram illustrating process 1700 for providingweather information. In some embodiments, process 1700 may be performedat an electronic device with a touch-sensitive display, such as device100 (FIG. 1), device 300 (FIG. 3), and/or device 500 (FIG. 5). At block1702, first data representing an upcoming activity is obtained. At block1704, a determination is made as to whether the activity is to beginwithin a threshold amount of time. At block 1706, in accordance with thedetermination the upcoming activity is to begin within a thresholdamount of time, weather information based on the upcoming activity isdisplayed.

FIG. 18 is a flow diagram illustrating process 1800 for providingweather information. In some embodiments, process 1800 may be performedat an electronic device with a touch-sensitive display and a rotatableinput mechanism, such as device 500 (FIG. 5). At block 1802, anaffordance representing a weather application is displayed. At block1804, a contact on the displayed affordance is detected. At block 1806,responsive at least in part to detecting the contact, the weatherapplication is launched. At block 1808, a grid with a plurality of gridportions representing different geographic locations is displayed. Atblock 1810, a contact on a grid portion is detected. At block 1812,responsive at least in part to detecting the contact, the display of thegrid is ceased and a current temperature at the first location isdisplayed.

FIG. 19 is a flow diagram illustrating process 1900 for providingweather information. In some embodiments, process 1900 may be performedat an electronic device with a touch-sensitive display and a rotatableinput mechanism, such as device 500 (FIG. 5). At block 1902, anaffordance representing a weather application is displayed. At block1904, a contact on the displayed affordance is detected. At block 1906,responsive at least in part to detecting the contact, the weatherapplication is launched. At block 1908, a plurality of regionsrepresenting different geographic locations is displayed. At block 1910,a contact on a first region representing a first location is detected.At block 1912, responsive at least in part to detecting the contact, acurrent temperature at the first location is displayed. At block 1914,movement of the rotatable input mechanism is detected. At block 1916,responsive at least in part to detecting the movement, information isdisplayed, the information representing a temperature at the secondlocation, the plurality of regions, a forecasted temperature, oradditional weather information.

FIG. 20 is a flow diagram illustrating process 2000 for providingweather information. In some embodiments, process 2000 may be performedat an electronic device with a touch-sensitive display and a rotatableinput mechanism, such as device 500 (FIG. 5). At block 2002, an imagerepresenting a weather condition for a first time of day is displayed.At block 2004, an affordance is displayed at a first positioncorresponding to the first time. At block 2006, movement of therotatable input mechanism is detected. At block 2008, responsive atleast in part to detecting the movement, the affordance is moved fromthe first position to a second position corresponding to a second timeof the day. At block 2010, the image is updated to represent a weathercondition for the second time of the day.

It should be understood that the particular order in which theoperations in FIGS. 14-20 have been described is exemplary and notintended to indicate that the described order is the only order in whichthe operations could be performed. One of ordinary skill in the artwould recognize various ways to reorder the operations described herein.For brevity, these details are not repeated here. Additionally, itshould be noted that aspects of processes 1400-2000 (FIGS. 14-20) may beincorporated with one another. For brevity, the permutations of userinput techniques are not repeated.

The operations in the information processing methods described above maybe implemented by running one or more functional modules in informationprocessing apparatus such as general purpose processors or applicationspecific chips. These modules, combinations of these modules, and/ortheir combination with general hardware (e.g., as described above withrespect to FIGS. 1A, 1B, 3, 5A, and 5B) are all included within thescope of protection of the invention.

FIG. 21 shows exemplary functional blocks of an electronic device 2100that, in some embodiments, performs the features described above. Asshown in FIG. 21, an electronic device 2100 includes a display unit 2102configured to display graphical objects; a touch-sensitive surface unit2104 configured to receive user gestures; one or more RF units 2106configured to detect and communicate with external electronic devices;and a processing unit 2108 coupled to display unit 2102, touch-sensitivesurface unit 2104, and RF unit(s) 2106. In some embodiments, processingunit 2108 is configured to support an operating system 2110 forlaunching and running one or more applications 2112.

In some embodiments, the processing unit 2108 includes a displayenabling unit 2114, a detecting unit 2116, a determining unit 2118, andan obtaining unit 2120. In some embodiments, the display enabling unit2114 is configured to cause a display of a user interface (or portionsof a user interface) in conjunction with the display unit 2102. Forexample, the display enabling unit 2114 may be used for: displaying anaffordance, displaying a user interface screen or a portion thereof,displaying a wallpaper, displaying indications (such as indications oftemperature or location), displaying weather information, displaying agrid or a plurality of regions, and displaying an image. In someembodiments, the detecting unit 2116 is configured to receive input,e.g., through the use of touch-sensitive surface unit 2104. For example,the detecting unit 2116 may be used for: detecting a contact, detectingmovement of the rotatable input mechanism, and detecting a swipe. Insome embodiments, the determining unit 2118 is configured to makedeterminations. For example, determining unit 2118 may be used for:determining whether a user input is movement of the rotatable inputmechanism or a swipe on the touch-sensitive display, and determiningthat an activity is to begin with a threshold amount of time. In someembodiments, the obtaining unit 2120 is configured to obtaininformation. For example, the obtaining unit 2120 may be used for:obtaining a current location of the electronic device from the locationsensor, obtaining a time for sunset or sunrise for a location and/or aday, obtaining weather information, and obtaining data representing anupcoming activity. The units of FIG. 21 may be used to implement thevarious techniques and methods described above with respect to FIGS.6-20.

The functional blocks of the device 2100 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 21 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

In accordance with some embodiments, FIG. 22 shows an exemplaryfunctional block diagram of an electronic device 2200 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2200 are configured to perform the techniques described above.The functional blocks of the device 2200 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 22 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 22, an electronic device 2200 includes atouch-sensitive display unit 2202 configured to receive contacts andconfigured to display a graphic user interface, a rotatable inputmechanism unit 2204 configured to receive user input, and a processingunit 2208 coupled to the touch-sensitive display unit 2202 and therotatable input mechanism unit 2204. In some embodiments, the processingunit 2208 includes a scrolling unit 2210, an application launching unit2212, a display enabling unit 2214, a detecting unit 2216, a determiningunit 2218, an obtaining unit 2220 and a translating unit 2222.

The processing unit 2208 is configured to enable display of (e.g., usingthe display enabling unit 2214) an affordance on the touch-sensitivedisplay unit 2202, the affordance representing a weather application.The processing unit 2208 is further configured to detect (e.g., usingthe detecting unit 2216) a contact on the displayed affordance. Theprocessing unit 2208 is further configured to, in response to detectingthe contact: launch (e.g., using the application launching unit 2212)the weather application and enable display (e.g., using the displayenabling unit 2214) of at least a portion of a first user interfacescreen including indications of a first location and a temperature atthe first location. The processing unit 2208 is further configured todetect (e.g., using the detecting unit 2216) user input while displayingthe first user interface screen. The processing unit 2208 is furtherconfigured to determine (e.g., using the determining unit 2218) whetherthe user input is movement of the rotatable input mechanism unit or aswipe on the touch-sensitive display unit. The processing unit 2208 isfurther configured to, in accordance with a determination that the userinput is movement of the rotatable input mechanism unit, scroll (e.g.,using the scrolling unit 2210) the first user interface screen. Theprocessing unit 2208 is further configured to, in accordance with adetermination that the user input is a swipe, enable display of (e.g.,using a display enabling unit 2214) at least a portion of a secondinterface screen including indications of a second location and atemperature at the second location.

In some embodiments, the temperature at the first location is a currenttemperature at the first location and scrolling the first user interfacescreen comprises: translate (e.g., using the translating unit 2222) thefirst user interface screen on-screen and enable display (e.g., usingthe display enabling unit 2214) of a forecasted temperature for thefirst location, the forecasted temperature for a future day.

In some embodiments, the electronic device further comprises a locationsensor 2230. In some embodiments, the processing unit 2208 is furtherconfigured to obtain (e.g., using an obtaining unit 2220) a currentlocation of the electronic device from the location sensor. In someembodiments, the processing unit 2208 is further configured to enabledisplay (e.g., using the display enabling unit 2214) of the currentlocation and a current temperature at the current location, in responseto detecting the contact on the displayed affordance.

In some embodiments, enabling display of the first user interface screencomprises enabling display (e.g., using the display enabling unit 2214)of a wallpaper, the wallpaper visually indicating weather condition atthe first location.

In some embodiments, enabling display of the affordance comprisesenabling display (e.g., using the display enabling unit 2214) of avisual representation of the current weather at the current location.

In some embodiments, enabling display (e.g., using the display enablingunit 2214) of the affordance comprises enabling display (e.g., using thedisplay enabling unit 2214) of a visual representation of the currentweather at a user-designated location.

In some embodiments, the visual representation indicates currentprecipitation.

In some embodiments, the first or the second user interface screenincludes an affordance indicating the currently displayed user interfacescreen and a position of the displayed user interface screen within asequence of the user interface screens.

The operation described above with reference to FIG. 14 is, optionally,implemented by components depicted in FIGS. 1A-1B or FIG. 22. Forexample, displaying operation 1402, detecting operation 1404, anddetermining operation 1412 may be implemented by event sorter 170, eventrecognizer 180, and event handler 190. Event monitor 171 in event sorter170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B.

In accordance with some embodiments, FIG. 23 shows an exemplaryfunctional block diagram of an electronic device 2300 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2300 are configured to perform the techniques described above.The functional blocks of the device 2300 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 23 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 23, an electronic device 2300 includes atouch-sensitive display unit 2302 configured to receive contacts andconfigured to display a graphic user interface, a rotatable inputmechanism unit 2304 configured to receive user input, and a processingunit 2308 coupled to the touch-sensitive display unit 2302 and therotatable input mechanism unit 2304. In some embodiments, the processingunit 2308 includes an application launching unit 2312, a displayenabling unit 2314, a detecting unit 2316, and an obtaining unit 2320.

The processing unit 2308 is configured to enable display of (e.g., usinga display enabling unit 2314) an affordance on the touch-sensitivedisplay unit, the affordance representing a weather application. Theprocessing unit 2308 is further configured to detect (e.g., using adetecting unit 2316) a contact on the displayed affordance. Theprocessing unit 2308 is further configured to, in response to detectingthe contact: launch (e.g., using the application launching unit 2312)the weather application, and enable display (e.g., using a displayenabling unit 2314) of indications of a location and a currenttemperature at the location. The processing unit 2308 is furtherconfigured to, while displaying the indications of the location and thecurrent temperature, detect (e.g., using a detecting unit 2316) movementof the rotatable input mechanism unit. The processing unit 2308 isfurther configured to, in response to detecting the movement, enabledisplay (e.g., using the display enabling unit 2314) of a forecastedtemperature for the location.

In some embodiments, the forecasted temperature is a first forecastedtemperature. In some embodiments, the processing unit 2308 is furtherconfigured to, while displaying the first forecasted temperature, detect(e.g., using a detecting unit 2316) movement of the rotatable inputmechanism unit. In some embodiments, the processing unit 2308 is furtherconfigured to, in response to detecting the movement, enable display(e.g., using the display enabling unit 2314) of a second forecastedtemperature for the location.

In some embodiments, the first and the second forecasted temperaturesdiffer by a predetermined time interval.

In some embodiments, the processing unit 2308 is further configured toobtain (e.g., using the obtaining unit 2320) a time of sunset for thelocation. In some embodiments, the processing unit 2308 is furtherconfigured to, while displaying the second forecasted temperature,detect (e.g., using a detecting unit 2316) one or more movements of therotatable input mechanism unit. In some embodiments, the processing unit2308 is further configured to, in response to detecting the one or moremovements, enable display (e.g., using the display enabling unit 2314)of a forecasted temperature for the location at the time of sunset.

In some embodiments, the processing unit 2308 is further configured toobtain (e.g., using the obtaining unit 2320) a time of sunrise for thecurrent day or the next calendar day. In some embodiments, theprocessing unit 2308 is further configured to, while displaying atemperature for the location, detect (e.g., using the detecting unit2316) one or more movements of the rotatable input mechanism. In someembodiments, the processing unit 2308 is further configured to, inresponse to detecting the one or more movements, enable display (e.g.,using the display enabling unit 2314) of a forecasted temperature forthe location at the time of sunrise.

In some embodiments, the processing unit 2308 is further configured toenable display (e.g., using the display enabling unit 2314) of a visualrepresentation of forecasted weather at the location, wherein theposition of the displayed affordance varies based on the time beingforecasted.

In some embodiments, the processing unit 2308 is further configured to,while displaying a temperature for the location, detect (e.g., using thedetecting unit 2316) a swipe on the touch-sensitive display. In someembodiments, the processing unit 2308 is further configured to, inresponse to detecting the swipe, enable display (e.g., using the displayenabling unit 2314) of a current temperature for a second locationdistinct from the first location.

In some embodiments, the swipe is a substantially horizontal swipe.

In some embodiments, the processing unit 2308 is further configured toenable display (e.g., using the display enabling unit 2314) of anaffordance indicating the currently displayed location a position of thedisplayed location within a sequence of locations.

The operation described above with reference to FIG. 15 is, optionally,implemented by components depicted in FIGS. 1A-1B or FIG. 23. Forexample, displaying operation 1502 and detecting operation 1504 may beimplemented by event sorter 170, event recognizer 180, and event handler190. Event monitor 171 in event sorter 170 detects a contact ontouch-sensitive display 112, and event dispatcher module 174 deliversthe event information to application 136-1. A respective eventrecognizer 180 of application 136-1 compares the event information torespective event definitions 186, and determines whether a first contactat a first location on the touch-sensitive surface corresponds to apredefined event or sub event, such as activation of an affordance on auser interface. When a respective predefined event or sub-event isdetected, event recognizer 180 activates an event handler 190 associatedwith the detection of the event or sub-event. Event handler 190 mayutilize or call data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

In accordance with some embodiments, FIG. 24 shows an exemplaryfunctional block diagram of an electronic device 2400 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2400 are configured to perform the techniques described above.The functional blocks of the device 2400 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 24 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 24, an electronic device 2400 includes atouch-sensitive display unit 2402 configured to receive contacts andconfigured to display a graphic user interface, a rotatable inputmechanism unit 2404 configured to receive user input, and a processingunit 2408 coupled to the touch-sensitive display unit 2402 and therotatable input mechanism unit 2404. In some embodiments, the processingunit 2408 includes a scrolling unit 2410, an application launching unit2412, a display enabling unit 2414, a detecting unit 2416, and atranslating unit 2422.

The processing unit 2408 is configured to enable display of (e.g., usinga display enabling unit 2414) an affordance on the touch-sensitivedisplay unit, the affordance representing a weather application. Theprocessing unit 2408 is further configured to detect (e.g., using thedetecting unit 2416) a contact on the displayed affordance. Theprocessing unit 2408 is further configured to, in response to detectingthe contact, launch (e.g., using the application launching unit 2412)the weather application, and enable display (e.g., using the displayenabling unit 2414) of indications of a first location and a currenttemperature at the first location. The processing unit 2408 is furtherconfigured to, while displaying the indications of the first locationand current temperature, detect (e.g., using the detecting unit 2416)movement of the rotatable input mechanism unit. The processing unit 2408is further configured to, in response to detecting the movement of therotatable input mechanism, enable display (e.g., using the displayenabling unit 2414) of indications of a second location distinct fromthe first location, and a current temperature at the second location.

In some embodiments, the movement of the rotatable input mechanism unit2404 is movement in one direction. In some embodiments, the processingunit 2408 is further configured to, while displaying the indications ofthe second location and the current temperature at the second location,detect (e.g., using the detecting unit 2416) movement of the rotatableinput mechanism unit in an opposite direction. In some embodiments, theprocessing unit 2408 is further configured to, in response to detectingthe movement in the opposite direction, enable display (e.g., using thedisplay enabling unit 2414) of the affordance representing the weatherapplication.

In some embodiments, the processing unit 2408 is further configured to,while displaying the indications of the first location and the currenttemperature at the first location, detect (e.g., using the detectingunit 2416) a swipe on the touch-sensitive display unit. In someembodiments, the processing unit 2408 is further configured to, inresponse to detecting the swipe, scroll (e.g., using the scrolling unit2410) the displayed weather information.

In some embodiments, scrolling the displayed weather informationcomprises: translating (e.g., using the translating unit 2422) thedisplayed information and enabling display (e.g., using the displayenabling unit 2414) of a forecasted temperature for the displayedlocation, the forecasted temperature for a future day.

In some embodiments, the processing unit 2408 is further configured toenable display (e.g., using the display enabling unit 2414) of anaffordance indicating the currently displayed location a position of thedisplayed location within a sequence of locations.

The operation described above with reference to FIG. 16 is, optionally,implemented by components depicted in FIGS. 1A-1B or FIG. 24. Forexample, displaying operation 1602 and detecting operation 1604 may beimplemented by event sorter 170, event recognizer 180, and event handler190. Event monitor 171 in event sorter 170 detects a contact ontouch-sensitive display 112, and event dispatcher module 174 deliversthe event information to application 136-1. A respective eventrecognizer 180 of application 136-1 compares the event information torespective event definitions 186, and determines whether a first contactat a first location on the touch-sensitive surface corresponds to apredefined event or sub event, such as activation of an affordance on auser interface. When a respective predefined event or sub-event isdetected, event recognizer 180 activates an event handler 190 associatedwith the detection of the event or sub-event. Event handler 190 mayutilize or call data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

In accordance with some embodiments, FIG. 25 shows an exemplaryfunctional block diagram of an electronic device 2500 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2500 are configured to perform the techniques described above.The functional blocks of the device 2500 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 25 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 25, an electronic device 2500 includes atouch-sensitive display unit 2502 configured to receive contacts andconfigure to display a graphic user interface, a rotatable inputmechanism unit 2504 configured to receive user input, and a processingunit 2508 coupled to the touch-sensitive display unit 2502 and therotatable input mechanism unit 2504. In some embodiments, the processingunit 2508 includes an application launching unit 2512, a displayenabling unit 2514, a detecting unit 2516, a determining unit 2518, anobtaining unit 2520 and a causing unit 2524.

The processing unit 2508 is configured to obtain a (e.g., usingobtaining unit 2520) first data representing an upcoming activity. Theprocessing unit 2508 is further configured to determine (e.g., using adetermining unit 2518) that the activity is to begin within a thresholdamount of time. The processing unit 2508 is further configured to, inaccordance with a determination the upcoming activity is to begin withina threshold amount of time, enable display (e.g., using the displayenabling unit 2514) of weather information based on the upcomingactivity.

In some embodiments, the processing unit 2508 is further configured tocause (e.g., using the causing unit 2524) a haptic event with displayingthe weather information.

In some embodiments, the processing unit 2508 is further configured toobtain (e.g., using the obtaining unit 2520) a location of the upcomingactivity. In some embodiments, the processing unit 2508 is furtherconfigured to obtain (e.g., using the obtaining unit 2520) currentweather information for the location of the upcoming activity. In someembodiments, displaying weather information based on the upcomingactivity comprises enable display (e.g., using the display enabling unit2514) of the current weather information.

In some embodiments, the processing unit 2508 is further configured toobtain (e.g., using the obtaining unit 2520) a start time of theupcoming activity. In some embodiments, the processing unit 2508 isfurther configured to obtain (e.g., using the obtaining unit 2520) theforecasted weather information for the start time of the upcomingactivity. In some embodiments, displaying weather information based onthe upcoming activity comprises enable display (e.g., using the displayenabling unit 2514) of the forecasted weather information.

In some embodiments, the processing unit 2508 is further configured toobtain (e.g., using the obtaining unit 2520) a current location of theelectronic device. In some embodiments, the processing unit 2508 isfurther configured to obtain (e.g., using the obtaining unit 2520)weather information for the current location. In some embodiments,displaying weather information based on the upcoming activity comprisesenable display (e.g., using the display enabling unit 2514) of theweather information for the current location.

In some embodiments, the processing unit 2508 is further configured toobtain (e.g., using the obtaining unit 2520) a current location of theelectronic device and a location of the upcoming activity. In someembodiments, the processing unit 2508 is further configured to obtain(e.g., using the obtaining unit 2520) weather information for ageographic location in-between the current location and the location ofthe upcoming activity. In some embodiments, displaying weatherinformation based on the upcoming activity comprises enable display(e.g., using the display enabling unit 2514) of the weather informationfor the geographic location in-between.

In some embodiments, the processing unit 2508 is further configured todetermine (e.g., using an determining unit 2518) whether an obtainedweather information represents inclement weather. In some embodiments,the processing unit 2508 is further configured to, in accordance with adetermination that the obtained weather information represents inclementweather, enable display (e.g., using the display enabling unit 2514) ofa visual indication of the inclement weather.

In some embodiments, the processing unit 2508 is further configured to,while the visual indication of inclement weather is displayed, detect(e.g., using the detecting unit 2516) a contact on the touch-sensitivedisplay unit. In some embodiments, the processing unit 2508 is furtherconfigured to, in response to detecting the contact, remove the enabledisplay (e.g., using the display enabling unit 2514) of the visualindication of inclement weather.

In some embodiments, the processing unit 2508 is further configured to,while the visual indication of inclement weather is displayed, detect(e.g., using the detecting unit 2516) a contact on the touch-sensitivedisplay. In some embodiments, the processing unit 2508 is furtherconfigured to, in response to detecting the contact, launch (e.g., usingthe application launching unit 2512) a weather application.

The operations described above with reference to FIG. 17 are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.25. For example, obtaining operation 1702, determining operation 1704,and displaying operation 1706 may be implemented by event sorter 170,event recognizer 180, and event handler 190. Event monitor 171 in eventsorter 170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B.

In accordance with some embodiments, FIG. 26 shows an exemplaryfunctional block diagram of an electronic device 2600 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2600 are configured to perform the techniques described above.The functional blocks of the device 2600 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 26 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 26, an electronic device 2600 includes atouch-sensitive display unit 2602 configured to receive contacts andconfigured to display a graphic user interface, a rotatable inputmechanism unit 2604 configured to receive user input, and a processingunit 2608 coupled to the touch-sensitive display unit 2602 and therotatable input mechanism unit 2604. In some embodiments, the processingunit 2608 includes a scrolling unit 2610, an application launching unit2612, a display enabling unit 2614, and a detecting unit 2616.

The processing unit 2608 is configured to enable display (e.g., usingthe display enabling unit 2614) of an affordance on the touch-sensitivedisplay unit, the affordance representing a weather application. Theprocessing unit 2608 is further configured to detect (e.g., using thedetecting unit 2616) a contact on the affordance. The processing unit2608 is further configured to, in response to detecting the contact onthe affordance: launch (e.g., using the application launching unit 2610)the weather application, and enable display (e.g., using the displayenabling unit 2614) of a grid comprising a plurality of grid portionsrepresenting different geographic locations, including a first gridportion representing a first location and a second grid portionrepresenting a second location, the first grid portion abutting thesecond grid portion. The processing unit 2608 is further configured todetect (e.g., using the detecting unit 2616) a contact on the first gridportion. The processing unit 2608 is further configured to, in responseto detecting the contact on the first grid portion: cease to enabledisplay (e.g., using the display enabling unit 2614) of the grid, andenable display (e.g., using the display enabling unit 2614) of a currenttemperature at the first location.

In some embodiments, the electronic device comprises a rotatable inputmechanism unit 2604 coupled to the processing unit 2608, and wherein theprocessing unit 2608 is further configured to, while the currenttemperature at the first location is displayed, detect (e.g., using thedetecting unit 2616) movement of the rotatable input mechanism unit. Insome embodiments, the processing unit 2608 is further configured to, inresponse to detecting the movement, enable display (e.g., using thedisplay enabling unit 2614) of the current temperature at the secondlocation.

In some embodiments, the electronic device comprises a rotatable inputmechanism unit 2604 coupled to the processing unit 2608, and wherein theprocessing unit 2608 is further configured to, while the currenttemperature at the first location is displayed, detect (e.g., using thedetecting unit 2616) movement of the rotatable input mechanism unit. Insome embodiments, the processing unit 2608 is further configured to, inresponse to detecting the movement, enable display (e.g., using thedisplay enabling unit 2614) of the grid.

In some embodiments, the electronic device comprises a rotatable inputmechanism unit 2604 coupled to the processing unit 2608, and wherein theprocessing unit 2608 is further configured to, while the currenttemperature at the first location is displayed, detect (e.g., using thedetecting unit 2616) movement of the rotatable input mechanism unit. Insome embodiments, the processing unit 2608 is further configured to, inresponse to detecting the movement, enable display (e.g., using thedisplay enabling unit 2614) of a forecasted temperature for the firstlocation.

In some embodiments, the electronic device comprises a rotatable inputmechanism unit 2604 coupled to the processing unit 2608, and wherein theprocessing unit 2608 is further configured to, while the currenttemperature at the first location is displayed, detect (e.g., using thedetecting unit 2616) movement of the rotatable input mechanism unit. Insome embodiments, the processing unit 2608 is further configured to, inresponse to detecting the movement, scroll (e.g., using the scrollingunit 2610) the display of the current temperature at the first locationto reveal additional weather information for the first location.

In some embodiments, the processing unit 2608 is further configured to,while the current temperature at the first location is displayed, detect(e.g., using the detecting unit 2616) a swipe on the touch-sensitivedisplay unit. In some embodiments, the processing unit 2608 is furtherconfigured to, in response to detecting the swipe, enable display (e.g.,using the display enabling unit 2614) of the current temperature at thesecond location.

In some embodiments, the processing unit 2608 is further configured to,while the current temperature at the first location is displayed, detect(e.g., using the detecting unit 2616) a swipe on the touch-sensitivedisplay unit. In some embodiments, the processing unit 2608 is furtherconfigured to, in response to detecting the swipe, scroll (e.g., usingthe scrolling unit 2610) the displayed first user interface screen toreveal additional weather information for the first location.

In some embodiments, displaying the current temperature of a locationcomprises enable display (e.g., using the display enabling unit 2614) ofan affordance indicating the location for which a temperature iscurrently displayed, and a position of the location within a sequence oflocations represented in the grid.

The operations described above with reference to FIG. 18 are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.26. For example, displaying operation 1802 and detecting operation 1804may be implemented by event sorter 170, event recognizer 180, and eventhandler 190. Event monitor 171 in event sorter 170 detects a contact ontouch-sensitive display 112, and event dispatcher module 174 deliversthe event information to application 136-1. A respective eventrecognizer 180 of application 136-1 compares the event information torespective event definitions 186, and determines whether a first contactat a first location on the touch-sensitive surface corresponds to apredefined event or sub event, such as activation of an affordance on auser interface. When a respective predefined event or sub-event isdetected, event recognizer 180 activates an event handler 190 associatedwith the detection of the event or sub-event. Event handler 190 mayutilize or call data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

In accordance with some embodiments, FIG. 27 shows an exemplaryfunctional block diagram of an electronic device 2700 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2700 are configured to perform the techniques described above.The functional blocks of the device 2700 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 27 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 27, an electronic device 2700 includes atouch-sensitive display unit 2702 configured to receive contacts and todisplay a graphic user interface, a rotatable input mechanism unit 2704configured to receive user input, and a processing unit 2708 coupled tothe touch-sensitive display unit 2702 and the rotatable input mechanismunit 2704. In some embodiments, the processing unit 2708 includes ascrolling unit 2710, an application launching unit 2712, a displayenabling unit 2714, and a detecting unit 2716.

The processing unit 2708 is configured to enable display (e.g., usingthe display enabling unit 2714) of an affordance on the touch-sensitivedisplay unit, the affordance representing a weather application. Theprocessing unit 2708 is further configured to detect (e.g., using thedetecting unit 2716) a contact on the affordance. The processing unit2708 is further configured to, in response to detecting the contact onthe affordance: launch (e.g., using the applications launching unit2712) the weather application, and enable display (e.g., using thedisplay enabling unit 2714) of a plurality of regions representingdifferent geographic locations, the regions arranged along a verticalcolumn, including a first region representing a first location and asecond region representing a second location, the first region abuttingthe second region. The processing unit 2708 is further configured todetect (e.g., using the detecting unit 2716) a contact on the firstregion. The processing unit 2708 is further configured to, in responseto detecting the contact on the first region, enable display (e.g.,using the display enabling unit 2714) of a current temperature at thefirst location. The processing unit 2708 is further configured to detect(e.g., using the detecting unit 2716) movement of the rotatable inputmechanism unit. The processing unit 2708 is further configured to, inresponse to detecting the movement, enable display (e.g., using thedisplay enabling unit 2714) of information selected from the groupconsisting of a temperature at the second location, the plurality ofregions, a forecasted temperature for the first location, and additionalweather information for the first location.

In some embodiments, enabling display of the information comprisesenabling display (e.g., using the display enabling unit 2714) of acurrent temperature at the second location.

In some embodiments, enabling display of the information comprisesenabling display (e.g., using the display enabling unit 2714) of theplurality of regions.

In some embodiments, enabling display of the information comprisesenabling display (e.g., using the display enabling unit 2714) of aforecasted temperature for the first location.

In some embodiments, enabling display of the information comprisesscrolling (e.g., using the scrolling unit 2710) the displayed first userinterface screen to reveal additional weather information for the firstlocation.

In some embodiments, the processing unit 2708 is further configured to,while displaying the current temperature at the first location, detect(e.g., using the detecting unit 2716) a swipe on the touch-sensitivedisplay. In some embodiments, the processing unit 2708 is furtherconfigured to, in response to detecting the swipe, enable display (e.g.,using the display enabling unit 2714) of a current temperature at thesecond location.

In some embodiments, the processing unit 2708 is further configured to,while displaying the current temperature at the first location, detect(e.g., using the detecting unit 2716) a swipe on the touch-sensitivedisplay. In some embodiments, the processing unit 2708 is furtherconfigured to, in response to detecting the swipe, scroll (e.g., usingthe scrolling unit 2710) the displayed first user interface screen toreveal additional weather information for the first location.

In some embodiments, enabling display of a temperature at a locationcomprises enabling display (e.g., using the display enabling unit 2714)of an affordance indicating the currently displayed location and aposition of the displayed location within a sequence of locations.

The operations described above with reference to FIG. 19 are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.27. For example, displaying operation 1902 and detecting operation 1904may be implemented by event sorter 170, event recognizer 180, and eventhandler 190. Event monitor 171 in event sorter 170 detects a contact ontouch-sensitive display 112, and event dispatcher module 174 deliversthe event information to application 136-1. A respective eventrecognizer 180 of application 136-1 compares the event information torespective event definitions 186, and determines whether a first contactat a first location on the touch-sensitive surface corresponds to apredefined event or sub event, such as activation of an affordance on auser interface. When a respective predefined event or sub-event isdetected, event recognizer 180 activates an event handler 190 associatedwith the detection of the event or sub-event. Event handler 190 mayutilize or call data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

In accordance with some embodiments, FIG. 28 shows an exemplaryfunctional block diagram of an electronic device 2800 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2800 are configured to perform the techniques described above.The functional blocks of the device 2800 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 28 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 28, an electronic device 2800 includes atouch-sensitive display unit 2802 configured to receive contacts andconfigured to display a graphic user interface, a rotatable inputmechanism unit 2804 configured to receive user input, and a processingunit 2808 coupled to the touch-sensitive display unit 2802 and therotatable input mechanism unit 2804. In some embodiments, the processingunit 2808 includes a display enabling unit 2814, a detecting unit 2816,an obtaining unit 2820, a moving unit 2826, and an updating unit 2228.

The processing unit 2808 is configured to enable display (e.g., usingthe display enabling unit 2814) of an image representing a weathercondition for a first time of day. The processing unit 2808 is furtherconfigured to enable display (e.g., using the display enabling unit2814) of an affordance at a first position, the first positioncorresponding to the first time. The processing unit 2808 is furtherconfigured to detect (e.g., using the detecting unit 2816) movement ofthe rotatable input mechanism unit. The processing unit 2808 is furtherconfigured to, in response to detecting the movement: move (e.g., usingthe moving unit 2826) the affordance from the first position to a secondposition corresponding to a second time of the day, and update (e.g.,using the update unit 2828) the image to represent a weather conditionfor the second time of the day.

In some embodiments, moving the affordance comprises: enabling display(e.g., using the display enabling unit 2814) of an animation translatingthe affordance from the first position to the second position, thetranslating along the circumference of a circle encircling the imagerepresenting the weather condition.

In some embodiments, the circle corresponds to a circular clock face,and a position of the affordance along the circumference of the circlecorresponds to a time as defined by the circular clock face.

In some embodiments, the processing unit 2808 is further configured toobtain (e.g., using the obtaining unit 2820) a time of sunset for theday. In some embodiments, the processing unit 2808 is further configuredto detect (e.g., using the detecting unit 2816) one or more movements ofthe rotatable input mechanism. In some embodiments, the processing unit2808 is further configured to, in response to detecting the one or moremovements: move (e.g., using the moving unit 2826) the affordance to athird position corresponding to the time of sunset, and update (e.g.,using the update unit 2828) the image to represent sunset.

In some embodiments, the clock face includes a portion representingnighttime and a portion representing daytime, wherein enabling displayof the affordance comprises: enabling display (e.g., using the displayenabling unit 2814) of a visual representation of the sun when theaffordance is positioned along the daytime portion, and enabling display(e.g., using the display enabling unit 2814) of a visual representationof the moon when the affordance is positioned along the nighttimeportion.

In some embodiments, the image is selected from the group consisting ofa sun, a cloud, and a moon.

In some embodiments, the image is at the origin of the circle, and aposition on the circle at π/2 radians represents noon.

The operations described above with reference to FIG. 20 are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.28. For example, displaying operation 2002, detecting operation 2006,and updating operation 2010 may be implemented by event sorter 170,event recognizer 180, and event handler 190. Event monitor 171 in eventsorter 170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B.

In accordance with some embodiments, FIG. 29 shows an exemplaryfunctional block diagram of an electronic device 2900 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2900 are configured to perform the techniques described above.The functional blocks of the device 2900 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 29 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 29, an electronic device 2900 includes a display unit2902, a RF unit 2906, and a processing unit 2908. In some embodiments,the processing unit 2908 includes a display enabling unit 2914 and anobtaining unit 2920.

The processing unit 2908 is configured to obtain (e.g., using theobtaining unit 2920), via wireless communication (e.g., using RF unit2906), weather information for a location comprising a current weathercondition and a forecasted weather condition. The processing unit 2908is further configured to enable display (e.g., using the displayenabling unit 2914) on the display unit (e.g., display unit 2902) of aclock having a clock face, wherein the clock face comprises a first hourmarker and a second hour marker, wherein the first hour marker comprisesa first image indicative of the current weather condition, and whereinthe second hour marker comprises a second image indicative of theforecasted weather condition.

The operations described below with reference to FIG. 30 are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.29. For example, obtaining operation 3002 and displaying operation 3004may be implemented by event sorter 170, event recognizer 180, and eventhandler 190. Event monitor 171 in event sorter 170 detects a contact ontouch-sensitive display 112, and event dispatcher module 174 deliversthe event information to application 136-1. A respective eventrecognizer 180 of application 136-1 compares the event information torespective event definitions 186, and determines whether a first contactat a first location on the touch-sensitive surface corresponds to apredefined event or sub event, such as activation of an affordance on auser interface. When a respective predefined event or sub-event isdetected, event recognizer 180 activates an event handler 190 associatedwith the detection of the event or sub-event. Event handler 190 mayutilize or call data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

FIG. 30 describes a flow diagram illustrating process 3000 for providingweather information. In some embodiments, process 3000 may be performedat an electronic device with a touch-sensitive display and a rotatableinput mechanism, such as device 500 (FIG. 5) or device 1300 (FIG. 13).At block 3002, weather information for a location, comprising a currentweather condition and a forecasted weather condition, is obtained viawireless communication. At block 3004, a clock is displayed having aclock face comprising a first hour marker and a second hour marker. Thefirst hour marker comprises a first image indicative of the currentweather condition and the second hour marker comprises a second imageindicative of the forecasted weather condition. An exemplary embodimentof the step diagrammed in block 3004 is illustrated in FIG. 13B on thedisplayed screen 1350 of device 1300. Device 1300 is displaying onscreen 1350 a clock, showing a current time of 3:29, with hour markersrepresented by affordances 1352 and 1354. In this example, affordance1354 represents a sun, indicating that the current weather condition at3:29 (e.g., the first hour marker) is sunny. Affordance 1352 (e.g., thesecond hour marker) represents a moon, indicating that the forecastedweather condition (e.g., forecasted for midnight) is a clear night.

It should be understood that the particular order in which theoperations in FIGS. 14-20 and 30 have been described is exemplary andnot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. For brevity, these details are not repeated here. Additionally,it should be noted that aspects of processes 1400-2000 and 3000 (FIGS.14-20 and 30) may be incorporated with one another. For brevity, thepermutations of user input techniques are not repeated.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the techniques and their practical applications. Othersskilled in the art are thereby enabled to best utilize the techniquesand various embodiments with various modifications as are suited to theparticular use contemplated.

Although the disclosure and examples have been fully described withreference to the accompanying figures, it is to be noted that variouschanges and modifications will become apparent to those skilled in theart. Such changes and modifications are to be understood as beingincluded within the scope of the disclosure and examples as defined bythe appended claims.

What is claimed is:
 1. An electronic device, comprising: atouch-sensitive display; one or more processors, and a memory storingone or more programs configured to be executed by the one or moreprocessors, the one or more programs including instructions for:obtaining, via wireless communication, weather information for alocation comprising a current weather condition and a forecasted weathercondition; and displaying, on the touch-sensitive display, a userinterface, wherein the user interface includes a plurality of imagescorresponding to a plurality of units of time, wherein the plurality ofimages corresponding to the plurality of units of time are displayedwith a curved arrangement around a respective portion of the userinterface and are indicative of the forecasted weather condition.
 2. Theelectronic device of claim 1, wherein an arc distance between a firstimage from the plurality of images and a second image from the pluralityof images is smaller than an arc distance between the first image fromthe plurality of images and a third image from the plurality of images,wherein the first image is sequentially adjacent to the second image andthe first image is sequentially adjacent to the third image.
 3. Theelectronic device of claim 1, wherein an arc distance between a fourthimage from the plurality of images and a fifth image from the pluralityof images is substantially the same as an arc distance between a sixthimage from the plurality of images and a fifth image from the pluralityof images, wherein the fourth image is sequentially adjacent to thefifth image and the fourth image is sequentially adjacent to the sixthimage.
 4. The electronic device of claim 1, wherein the electronicdevice comprises a location sensor, and the one or more programs furtherincluding instructions for: obtaining a current location of theelectronic device from the location sensor; and displaying the userinterface further includes displaying the current location and a currenttemperature at the current location.
 5. The electronic device of claim1, wherein the user interface is a clock having a clock face.
 6. Theelectronic device of claim 1, wherein the plurality of units of timecorrespond to a plurality of hour markers.
 7. The electronic device ofclaim 1, wherein the plurality of images are different images.
 8. Theelectronic device of claim 1, wherein the plurality of images are thesame images.
 9. The electronic device of claim 1, where an image fromthe plurality of images positioned at the top of the curved arrangementcorresponds to twelve o'clock.
 10. The electronic device of claim 1,where an image from the plurality of images positioned at the bottom ofthe curved arrangement corresponds to six o'clock.
 11. The electronicdevice of claim 1, wherein the user interface includes a graphicalvisual indicator corresponding to a current hour.
 12. The electronicdevice of claim 11, wherein the graphical visual indicator is displayedwithin a portion of the curved arrangement.
 13. The electronic device ofclaim 1, wherein the curved arrangement includes a gap spacecorresponding to an hour that just passed.
 14. A method, comprising: atan electronic device with a touch-sensitive display: obtaining, viawireless communication, weather information for a location comprising acurrent weather condition and a forecasted weather condition; anddisplaying, on the touch-sensitive display, a user interface, whereinthe user interface includes a plurality of images corresponding to aplurality of units of time, wherein the plurality of imagescorresponding to the plurality of units of time are displayed with acurved arrangement around a respective portion of the user interface andare indicative of the forecasted weather condition.
 15. A non-transitorycomputer-readable storage medium storing one or more programs configuredto be executed by one or more processors of an electronic device with atouch-sensitive display, the one or more programs including instructionsfor: obtaining, via wireless communication, weather information for alocation comprising a current weather condition and a forecasted weathercondition; and displaying, on the touch-sensitive display, a userinterface, wherein the user interface includes a plurality of imagescorresponding to a plurality of units of time, wherein the plurality ofimages corresponding to the plurality of units of time are displayedwith a curved arrangement around a respective portion of the userinterface and are indicative of the forecasted weather condition.